Lambda

lambda 保存中间类

-Djdk.internal.lambda.dumpProxyClasses=. -Djava.lang.invoke.MethodHandle.DUMP_CLASS_FILES=true

设置并行线程池大小

System.setProperty("java.util.concurrent.ForkJoinPool.common.parallelism", "20")

建议单独设置线程池

submit the parallel stream execution to your own ForkJoinPool: yourFJP.submit(() -> stream.parallel().forEach(soSomething)); or

you can change the size of the common pool using system properties:

System.setProperty("java.util.concurrent.ForkJoinPool.common.parallelism", "20")

for a target parallelism of 20 threads.

     Runnable r = () -> IntStream
.range(-42, +42)
.parallel()
.map(i -> Thread.activeCount())
.max()
.ifPresent(System.out::println);

ForkJoinPool.commonPool().submit(r).join();
new ForkJoinPool(42).submit(r).join();