java 8實戰(一)

《java 8 實戰》一二章節讀書總結:

java 8 新編程概念

1. 流處理(Stream順序,ParallelStream並行)

java 8 支持數據的多核CPU計算,不必須是Thread實現並行,來處理輸入流,實現幾乎免費的並行。

2. 行爲參數化把代碼傳遞給方法
3.並行與共享的可變數據

沒有共享的可變數據,將方法和函數即代碼傳遞給其他方法的能力,是我們平常所說的函數式編程範式的** 基石 ** 。** “不能有共享的可變數據” ** 的要求意味着,一
個方法是可以通過它將參數值轉換爲結果的方式完全描述的;換句話說,它的行爲就像一個數學函數,沒有可見的副作用。

來自其他語言的好的編程思想

1.默認方法

Java 8中加入默認方法主要是爲了支持庫設計師,讓他們能夠寫出更容易改進的接口。
提供。這就給接口設計者提供了一個** 擴充接口的方式,而不會破壞現有的代碼 **。 Java 8在接口聲明中使用新的default關鍵字來表示這一點。

2. Optional類

通過使用更多的描述性數據類型來避免null,能一致地使用它的話,就可以幫助你** 避免出現NullPointer異常 **。

3. (結構)模式匹配

對於更復雜的數據類型,模式匹配可以比if-then-else更簡明地表達編程思想,Scala的語法expr match就對應於Java中的switch (expr),是對現有匹配模式的更好擴展。

行爲參數化:

  • 通過接口抽象行爲
  • 匿名類
  • Lambda

總結

以下是你應從本章中學到的關鍵概念。

  • 行爲參數化,就是一個方法接受多個不同的行爲作爲參數,並在內部使用它們, 完成不同行爲的能力。
  • 行爲參數化可讓代碼更好地適應不斷變化的要求,減輕未來的工作量。
  • 傳遞代碼,就是將新行爲作爲參數傳遞給方法。但在Java 8之前這實現起來很囉嗦。爲接口聲明許多隻用一次的實體類而造成的囉嗦代碼,在Java 8之前可以用匿名類來減少。
  • Java API包含很多可以用不同行爲進行參數化的方法,包括排序、線程和GUI處理。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章