小编yad*_*dab的帖子

C中的自定义内存分配器/管理器?哪种方法?

我正在寻找用c编写的一些(自定义)内存管理器/分配器并经历了一些文章, -

一些链接:

我必须使用任何可用的沙箱来沙箱一个小的Web服务器,我在编写线程处理/分配方案的包装器方面没有问题.Apache WS使用内存池来处理内存,并且池不是持久的,它是基于请求的.你们能提出什么建议吗?一些好/最好的方法来解决这个问题?我的要求如下; -

  1. (有界响应时间)分配和解除分配必须事先知道,即一些常数成本O(c),其中c是常数.

  2. 应该处理来自异构分配/解除分配大小或序列的碎片,我可以编写模式/包装器来提供相同的碎片.

真的很感谢你的帮助和想法!

c memory memory-management

16
推荐指数
1
解决办法
5204
查看次数

使用Stanford NER从文本文档中提取地址?

我正在寻找斯坦福NER并考虑使用JAVA Apis来从文本文档中提取邮政地址.该文件可以是任何有邮政地址部分的文件,例如电费单,电费单.

所以我的想法是,

  1. 使用LOCATION和其他原始命名实体将邮政地址定义为命名实体.
  2. 定义细分和其他子流程.

我试图找到一个相同的示例管道(需要详细的步骤是什么),任何人之前都做过这个?建议欢迎.

java text-processing stanford-nlp

9
推荐指数
1
解决办法
1273
查看次数

Java Practice:返回作为参数传递的相同对象

在下面的代码中,updateWithContex返回作为参数的相同对象是否真的是不好的做法?

class SomeClass{
   Foo updateWithContex(Foo foo){
       foo.setAppId(i);
       foo.setXId(index);
       //.....
       return foo;
   }
}

class Foo{

    public void setAppId(int appId)
    {
       //
    }
    public void setXId(int appId)
    {
        //
    }
    public void changeState(X x)
    {
       //
    }
}
Run Code Online (Sandbox Code Playgroud)

在C++中,我看到过这样的代码:

 BigObject&
   fastTransform( BigObject& myBO )
   {
      // When entering fastTransform(), myBO is the same object as the function
      // argument provided by the user. -> No copy-constructor is executed.
      // Transform myBO in some way
      return myBO;   // Transformed myBO …
Run Code Online (Sandbox Code Playgroud)

java

8
推荐指数
1
解决办法
6530
查看次数

即使任务完成,future.isDone也返回false

我有棘手的情况,即使线程完成,也会future.isDone()返回false.

import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.Callable;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.Future;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;

public class DataAccessor {
    private static ThreadPoolExecutor executor;
    private int timeout = 100000;
    static {
        executor = new ThreadPoolExecutor(10, 10, 1000, TimeUnit.SECONDS, new ArrayBlockingQueue<Runnable>(1000));
    }

    public static void main(String[] args) {
        List<String> requests = new ArrayList<String>();
        for(int i=0; i<20; i++){
            requests.add("request:"+i);
        }
        DataAccessor dataAccessor = new DataAccessor();

        List<ProcessedResponse> results = dataAccessor.getDataFromService(requests);
        for(ProcessedResponse response:results){
            System.out.println("response"+response.toString()+"\n");
        } …
Run Code Online (Sandbox Code Playgroud)

java multithreading future

5
推荐指数
1
解决办法
9704
查看次数