当前位置 博文首页 > jw598527338的博客:java 8 Stream实现原理
参考资料:
https://www.cnblogs.com/CarpenterLee/archive/2017/03/28/6637118.html
Stream流API是如何实现的呢?
Pipeline是怎么执行的,每次方法调用都会导致一次迭代吗?
自动并行又是怎么做到的,线程个数是多少?
Stream上的所有操作分为两类:中间操作和结束操作。
中间操作根据是否受到前面的元素影响,又可以分为无状态的(Stateless)和有状态的(Stateful),比如排序是有状态操作,在读取所有元素之前并不能确定排序结果;
结束操作又可以分为短路操作和非短路操作,短路操作是指不用处理全部元素就可以返回结果.
之所以要进行如此精细的划分,是因为底层对每一种情况的处理方式不同。
流水线的实现方式: