整理 Effective Java 書中 Item 48: Use streams judiciously 心得筆記
主旨:parallel stream 用錯,效能與正確性可能雙雙出問題
Java 8 的 stream API 帶來了非常方便的資料處理方式,加上 .parallel() 方法,更是讓你只用一行就能平行運算聽起來很香。
但實際上呢?用錯地方,不僅效能沒提升,甚至會程式掛掉。平行化是進階優化技巧,不是萬靈丹。
整理 Effective Java 書中 Item 48: Use streams judiciously 心得筆記
Java 8 的 stream API 帶來了非常方便的資料處理方式,加上 .parallel() 方法,更是讓你只用一行就能平行運算聽起來很香。
但實際上呢?用錯地方,不僅效能沒提升,甚至會程式掛掉。平行化是進階優化技巧,不是萬靈丹。
整理 Effective Java 書中 Item 47: Prefer Collection to Stream 心得筆記
Java 8 推出 streams 之後,我們在設計方法時有了新的回傳型別選擇。不過,若你要回傳一串元素,Collection 或其子型別通常仍是最合適的選擇,因為這樣使用者不論是想用 for-each 迴圈還是用 stream pipeline,都能方便操作。除非真的有特殊理由,否則不要只回傳 Stream。