Lambda運算式與Stream流【第一篇】
Java Lambda 運算式是伴隨 Java 8 于 2014 年出現,這個時候恰好是多核 CPU 和大資料興起的時候,
在這種趨勢下,芯片設計者只能采用多核并行的設計思路,而軟體開發者也必須能夠很好地利用底層硬體的并發特性,
這就是【多執行緒編程】的由來,
【多執行緒編程】什么都好,但是也會帶來【多執行緒編程】特有的問題——并發控制,
多執行緒環境下涉及鎖相關的編程演算法不但容易出錯,而且耗時費力,
雖然基于多執行緒開發java提供了 java.util.concurrent 包以及很多第三方類別庫,但是,對于【大資料集合】的高效并行處理還是有些欠缺,不能通過簡單的【代碼改造】就可以在多核 CPU 上高效的運行,
所以,為了解決這個問題(代碼能在多核CPU上高效執行),就需要【新技術】開幫助解決這樣的問題,基于這樣的現實訴求,就出現了:
*Lambda運算式
*Stream流——來自資料源的元素佇列,支持聚合操作,提供對【大資料集合】的處理能力,(也是隨java8一起出現)
那Lambda運算式和Stream流又是個啥關系呢?
eg:

要弄明白這兩者的關系,就要知道【Lambda運算式的本質——更簡潔的匿名函式】,ok,Lambda就是一個匿名函式(你這里可能會問:匿名函式在java8之前就有了,為啥java8還要在搞一個Lambda運算式?關于這一點,后面的文章我會給出解釋),既然是一個函式,那就不管你匿不匿名,那本質上也就是一個【管道】——一端進,一端出,
所以,現在我們來看上面的代碼,可以發現:
Sream API提供的是一個【更易操作【集合】的平臺】,而Lambda運算式提供的是【具體操作集合的邏輯】
**注:**3月7號繼續更新Lambda運算式、Stream流、函式式介面、函式式編程這4者共同構建的Java 8的代碼編程風格——函式式編程
本文我自己感覺寫的不是很深刻,后面的相關文章大家可以期待下【會相當深刻】
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/264758.html
標籤:其他
