小编Bri*_*ris的帖子

7
推荐指数
4
解决办法
412
查看次数

BufferedIterator实现

有人知道开源BufferedIterator,在后台线程上急切地获取接下来的N个元素吗?这是一个实现TechRepublic的文章,但我认为它并没有被彻底的测试.

迭代器 .buffer(Iterator toBuffer,int bufferSize)对Guava来说是一个很好的补充,有没有被考虑过?

java concurrency guava

7
推荐指数
1
解决办法
1536
查看次数

Java中元素迭代器的并行计算

我现在有过几次同样的需求,并想就构建解决方案的正确方法获得其他想法。需要的是对多个线程上的多个元素执行一些操作,而无需一次将所有元素都放在内存中,只需要计算中的元素。就像,Iterables.partition是不够的,因为它预先将所有元素都放入内存中。

用代码表达,我想写一个 BulkCalc2,它和 BulkCalc1 做同样的事情,只是并行。下面的示例代码说明了我的最佳尝试。我不满意,因为它又大又丑,但它似乎实现了我的目标,即在工作完成之前保持线程的高度利用,在计算过程中传播任何异常,并且一次在内存中不必有超过numThreads 个 BigThing实例.

我会接受以最简洁的方式满足既定目标的答案,无论是改进 BulkCalc2 的方法还是完全不同的解决方案。

interface BigThing {

    int getId();

    String getString();
}

class Calc {

    // somewhat expensive computation
    double calc(BigThing bigThing) {
        Random r = new Random(bigThing.getString().hashCode());
        double d = 0;
        for (int i = 0; i < 100000; i++) {
            d += r.nextDouble();
        }
        return d;
    }
}

class BulkCalc1 {

    final Calc calc;

    public BulkCalc1(Calc calc) {
        this.calc = calc;
    }

    public TreeMap<Integer, …
Run Code Online (Sandbox Code Playgroud)

java parallel-processing iterator

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

证明 310 OffsetDate 类型合理的用例有哪些?

OffsetDate表示具有区域偏移量的日期。我不明白这个类的用途,证明它存在的主要用例是什么?

java-8 jsr310

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

在运行时生成可执行jar

我想编写一个可以在运行时创建可执行jar的Java应用程序.我想做的"hello world"是编写一个Java app X,在运行时生成一个可执行的jar Y,在运行时打印hello world(或者在Y运行之前可能还有另一个字符串未知).

我怎么能做到这一点?

java jar

4
推荐指数
1
解决办法
3104
查看次数