Java Stream 是 JDK1.8 才引入的特性,最近在使用Java Stream时遇到了一些坑,在项目的代码中用到了Stream API的parallelStream, 在并行流中进行了IO操作,然而由于IO操作花费的时间比较多,让后续其余的的并行流处理操作也hung住了,给我的感觉就是整个java进程都hung住了。在深究之后发现, 所有并行流中发生的操作都会交由ForkJoinPool,common()的forkjoinpool来执行, 而这个fork join pool是整个jvm全局共享的, 由于fork/join的特点,如果在并行流中有阻塞任务长时间存在,则会对其余线程产生副作用,对性能有很大影响。