发表于2024-12-23
精通lambda錶達式:Java多核編程 [Mastering Lambdas: Java Programming in a Multicore] pdf epub mobi txt 電子書 下載 2024
Maurice Naftalin在IT領域擁有30多年的經驗,擔任過開發者、設計師、架構師、經理、教師以及作者等角色。Naftalin是經過認證的Java程序員,使用過Java的各個發布版本。他在Java與業務上的經曆讓他對Java SE 8中引入lambda錶達式所帶來的根本性變化有著獨到的見解。Naftalin是各種大會上的常客,包括一年一度的JavaOne。他與Oracle開發團隊協作運營著一個頗受歡迎的網站——www.lambdafaq.org,該網站主要關注於Java 8中的新語言特性。
目 錄
第1章 走進新生代的Java 1
1.1 從外部迭代到內部迭代 2
1.1.1 內部迭代 4
1.1.2 命令模式 6
1.1.3 lambda錶達式 8
1.2 從集閤到流 11
1.3 從串行到並行 15
1.4 組閤行為 18
1.5 小結 22
第2章 Java lambda錶達式的基礎知識 23
2.1 lambda錶達式的定義 24
2.2 lambda與匿名內部類 26
2.2.1 無標識性問題 26
2.2.2 lambda的作用域規則 27
2.3 變量捕獲 29
2.4 函數式接口 32
2.5 使用lambda錶達式 37
2.6 方法與構造器引用 39
2.6.1 靜態方法引用 40
2.6.2 實例方法引用 41
2.6.3 構造器引用 44
2.7 類型檢查 44
2.7.1 何為函數類型 45
2.7.2 匹配函數類型 46
2.8 重載解析 48
2.8.1 lambda錶達式的重載 49
2.8.2 方法引用的重載 52
2.9 小結 54
第3章 流與管道介紹 55
3.1 流基礎 56
3.1.1 麵嚮並行的代碼 59
3.1.2 原生流 61
3.2 剖析管道 63
3.2.1 開始管道 63
3.2.2 轉換管道 64
3.2.3 非侵入性 75
3.2.4 終止管道 78
3.3 小結 90
第4章 終止流:收集與匯聚 91
4.1 使用收集器 94
4.1.1 獨立的預定義收集器 94
4.1.2 組閤收集器 99
4.1.3 鏈接管道 104
4.1.4 示例說明:最流行的主題 106
4.2 剖析收集器 108
4.3 編寫收集器 111
4.3.1 完成器 115
4.3.2 示例說明:找到我的書 118
4.3.3 收集器的規則 122
4.4 匯聚 124
4.4.1 對原生值的匯聚 124
4.4.2 對引用流的匯聚 126
4.4.3 通過匯聚來組閤收集器 131
4.5 小結 132
第5章 起始流:源與分割迭代器 135
5.1 創建流 136
5.2 分割迭代器與Fork/Join 145
5.3 異常 149
5.4 示例說明:遞歸grep 155
5.5 小結 166
第6章 流的性能 167
6.1 微基準度量 170
6.1.1 度量動態運行時 171
6.1.2 Java Microbenchmarking Harness 173
6.1.3 試驗方法 174
6.2 選擇執行模式 178
6.3 流的特性 181
6.4 排序 184
6.5 有狀態操作與無狀態操作 187
6.6 裝箱與拆箱 188
6.7 分割迭代器性能 189
6.8 收集器性能 190
6.8.1 並發Map的閤並 190
6.8.2 性能分析:對點進行分組 192
6.8.3 性能分析:找到我的書 192
6.9 小結 194
第7章 使用默認方法演化API 195
7.1 使用默認方法 199
7.2 抽象類的角色是什麼 201
7.3 默認方法的語法 203
7.4 默認方法與繼承 204
7.5 接口中的靜態方法 211
7.6 小結 213
本書總結 215
前 言
Java 8可謂Java語言曆史上變化最大的一個版本,其承諾要調整Java編程嚮著函數式風格邁進,這有助於編寫齣更為簡潔、錶達力更強,並且在很多情況下能夠利用並行硬件的代碼。在本書中,你將會發現引入lambda錶達式這一錶麵上看起來細小的變化將如何使這一切成為可能。你將學習到如何通過lambda錶達式使用一行代碼編寫Java函數,如何通過這種功能使用新的Stream API進行編程,如何將冗長的集閤處理代碼壓縮為簡單且可讀性更好的流程序。學習創建和消費流的機製,分析其性能,能夠判斷何時應該調用API的並行執行特性。
最後,為將新特性集成到現有的Java平颱庫中,需要對已有的集閤接口進行演化,而之前由於兼容性問題這一點是沒法實現的。你將學習到如何通過默認方法來解決這些問題,如何在演化自己的API時使用它們。
第1章 走進新生代的Java
本章為將lambda錶達式與流引入到Java中做好瞭準備,其變化的動機是需要更好的編程模型以及讓Java開始為多核處理器提供支持。
第2章 Java lambda錶達式基礎
本章介紹瞭lambda錶達式的語法,如何使用它們,在何處使用及其與匿名內部類的區彆,以及由方法和構造器引用所提供的便捷縮寫。
第3章 流與管道介紹
本章介紹瞭流的生命周期以及流編程的基礎知識,提供瞭通過流源以及中間和終止操作處理集閤的示例。
第4章 終止流:集閤與匯聚
本章詳細介紹瞭終止操作,特彆是如何通過可變的匯聚操作將流元素匯聚到集閤中。本章通過收集器(可變匯聚的庫實現)擴展瞭第3章的示例。我們將會看到何時應該超越庫實現的限製,以及如何編寫自己的收集器。
第5章 起始流:源與分割迭代器
本章介紹瞭起始流的各種方式,包括使用庫類,以及在必要時編寫自己的分割迭代器。本章還深入介紹瞭流編程中的異常處理。通過流處理重新實現grep的各種選項來展現齣該模型的靈活性。
第6章 流的性能
本章介紹瞭如何確定並行執行的流處理的相對性能,方式是將源、中間操作的負載以及終止操作的並發性分割開來進行度量。此外還引入瞭微基準測試度量流的性能,同時還通過這些方式對書中的其他程序進行瞭分析。
第7章 使用默認方法來演化API
本章介紹瞭新引入的默認方法是如何解決Java編程中長久以來存在的問題的,特彆是如何首次使得基於接口的Java API的演化成為可能。本章還介紹瞭靜態接口方法的使用。
本書讀者對象
本書麵嚮那些使用過Java 5及之前任意版本,同時又聽說過Java 8中激動人心的變化,並且想要學習它們的Java開發者。你無須瞭解其他語言中的lambda錶達式與閉包,也無須擁有函數式編程經驗(當然,如果知道會更好)。
除瞭Java集閤框架的標準集閤外,本書不要求你熟悉其他的平颱庫,如果對標準集閤不熟悉,請適時參閱Javadoc文檔。
某些章節提供瞭一些高級主題:它們適閤於延伸閱讀。
示例、反饋與進一步學習
書中的代碼可以從Oracle齣版社的網站下載,網址是www. OraclePressBooks.com。源代碼與勘誤也位於本書的産品頁www. mhprofessional.com。隻需要搜索ISBN並下載必要的文件即可。
讀者可以訪問本書的支持網站www.masteringlambdas.org進行討論、尋找進一步學習的鏈接,還可以聯係作者。
。。。。。。。。。。。。。。。。。。?。
評分多核編程,將是互聯網高並發,大數據下軟件開發的主流。很多全新的概念將會對原先的思維形成衝擊,需要有一定的過程,好好閱讀本書,是個不錯的選擇
評分給力給力
評分學習JAVA多核心編程的好書,就是貴內容太少瞭些。
評分很好很好很好很好很好很好
評分孩子說能看懂,還不錯!
評分專業用書,剛需剛需,必須買
評分java8的一個新特性,要好好瞭解。
評分還行,紙質還可以。。。。。。。。。。。。。。。
精通lambda錶達式:Java多核編程 [Mastering Lambdas: Java Programming in a Multicore] pdf epub mobi txt 電子書 下載