Java 8 Lambdas 技術手冊

Book description

通俗的函數式程式設計

「太重要了,這本書清楚地交代了為什麼、在哪邊與如何運用lambdas來改進程式地基。」
-Martijn Verburg
jClarity與Java Champion執行長

「極力推薦此書,每個想擁抱JDK8中語言強化的Java開發者,書架上一定要有這本書。」
-Daniel Bryant
Instant Access Technologies技術長

身為開發者,如果已經會使用Java SE的主要功能,這本書可以讓你知道lambda表達式為Java 8帶來哪些改變。透過程式範例、練習與流暢的說明,你會瞭解到這些匿名函式在撰寫簡明、程式庫等級的程式碼時可以提供哪些協助,以解決商務上遭遇的問題。

對Java來說,lambda表達式是非常簡明的變革,本書第一部份會說明如何正確地使用lambda表達式。之後各章會告訴你,lambda函式如何改善平化效能、撰寫更簡易的並行程式,與更精確地塑立領域模型,包括如何建立更棒的DSL。

‧各章練習可協助快速掌握Java 8的lambda表達式
‧探討stream、進階群集與其他Java8程式庫改進
‧採用資料平行來善用多核心CPU並改進效能
‧運用技巧來「lambdify」既有的程式地基或程式庫
‧瞭解lambda表達式在單元測試與除錯時的實用方案
‧採取lambdas來實作物件導向程式設計的SOLID原則
‧撰寫有效執行訊息傳遞與非阻斷I/O的並行應用程式

Richard Warburton是經驗豐富的技術專家,以及深入技術問題的解題家,近來從事高效能運算資料分析。身為London Java Community領導者,他籌辦了Java 8的Adopt-a-JSR計畫與OpenJDK Hackday

 

Table of contents

  1. 封面
  2. 書名頁
  3. 授權聲明頁
  4. 前言
  5. 目錄
  6. 第一章 簡介
  7. 為何再次革新Java ?
  8. 什麼是函數式程式設計?
  9. 範例領域
  10. 第二章 Lambda 表達式
  11. 第一個Lambda 表達式
  12. 尋覓Lambda
  13. 值的採用
  14. 函式介面
  15. 型態推斷
  16. 重點
  17. 練習
  18. 第三章 Stream
  19. 從外部迭代到內部迭代
  20. 實際細節是什麼?
  21. 常見Stream 操作
  22. collect(toList())
  23. map
  24. filter
  25. flatMap
  26. max 與min
  27. 一個常見模式出現了
  28. reduce
  29. 組合操作
  30. 重構殘存程式碼
  31. 多次Stream 呼叫
  32. 高階函式
  33. 善用Lambda 表達式
  34. 重點
  35. 練習
  36. 進階練習
  37. 第四章 程式庫
  38. 程式中的Lambda 表達式運用
  39. 基本型態
  40. 重載解析
  41. @FunctionalInterface
  42. 二進位介面相容性
  43. 預設方法
  44. 預設方法與子類化
  45. 多重繼承
  46. 三個規則
  47. 利弊權衡
  48. 介面的靜態方法
  49. Optional
  50. 重點
  51. 練習
  52. 開放式練習
  53. 第五章 進階群集與收集器
  54. 方法參考
  55. 元素定序
  56. 進入收集器
  57. 納入其他群集
  58. 納為數值
  59. 資料劃分
  60. 資料分組
  61. 字串
  62. 組裝收集器
  63. 重構與自訂收集器 (1/2)
  64. 重構與自訂收集器 (2/2)
  65. 歸納為收集器
  66. 群集之美
  67. 重點
  68. 練習
  69. 第六章 資料平行
  70. 平行vs. 並行
  71. 平行為何重要?
  72. 平行Stream 操作
  73. 模擬
  74. 當心
  75. 效能
  76. 平行陣列操作
  77. 重點
  78. 練習
  79. 第七章 測試、除錯與重構
  80. Lambda 重構候選對象
  81. 又進又出,不如攪和在一起
  82. 孤伶伶地重寫
  83. 行為上的WET
  84. Lambda 表達式單元測試
  85. 測試替身中的Lambda 表達式
  86. 惰性求值vs. 除錯
  87. 日誌與列示
  88. 方案:peek
  89. 中游中斷點
  90. 重點
  91. 第八章 設計與架構原則
  92. 運用了Lambda 的設計模式
  93. 命令模式
  94. 策略模式
  95. 觀察者模式
  96. 樣版方法模式
  97. 運用了Lambda 的領域專用語言
  98. Java 的DSL
  99. 如何實作?
  100. 考量
  101. 運用了Lambda 的SOLID 原則
  102. 單一職責原則
  103. 開放/封閉原則
  104. 依賴反轉原則
  105. 進階閱讀
  106. 重點
  107. 第九章 運用了Lambda 的並行
  108. 為何使用非阻斷I/O ?
  109. 回呼
  110. 訊息傳送架構
  111. 死亡金字塔
  112. Future
  113. CompletableFuture
  114. Reactive 程式設計
  115. 時機與場合
  116. 重點
  117. 練習
  118. 第十章 繼續前進
  119. 索引 (1/2)
  120. 索引 (2/2)
  121. 關於作者
  122. 出版記事

Product information

  • Title: Java 8 Lambdas 技術手冊
  • Author(s): Richard Warburton
  • Release date: November 2014
  • Publisher(s): GoTop Information, Inc.
  • ISBN: None