streams底層原理?
java8 stream介紹java8新增了stream流的特性,能夠讓用戶以函數(shù)式的方式、更為簡單的操縱集合等數(shù)據(jù)結(jié)構(gòu),并實現(xiàn)了用戶無感知的并行計算。
相信很多人在使用過java8的streamAPI接口之后,都會對其實現(xiàn)原理感到好奇,但往往在看到j(luò)dk的stream源碼后卻被其復(fù)雜的抽象、封裝給弄糊涂了,而無法很好的理解其背后的原理。究其原因,是因為jdk的stream源碼是高度工程化的代碼,工程化的代碼為了效率和滿足各式各樣的需求,會將代碼實現(xiàn)的極其復(fù)雜,不易理解。
我們的stream流同樣擁有惰性求值,函數(shù)式編程接口等特性,并兼容jdk的Collection等數(shù)據(jù)結(jié)構(gòu)(但不支持并行計算 orz)。