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
- 封面
- 書名頁
- 授權聲明頁
- 前言
- 目錄
- 第一章 簡介
- 為何再次革新Java ?
- 什麼是函數式程式設計?
- 範例領域
- 第二章 Lambda 表達式
- 第一個Lambda 表達式
- 尋覓Lambda
- 值的採用
- 函式介面
- 型態推斷
- 重點
- 練習
- 第三章 Stream
- 從外部迭代到內部迭代
- 實際細節是什麼?
- 常見Stream 操作
- collect(toList())
- map
- filter
- flatMap
- max 與min
- 一個常見模式出現了
- reduce
- 組合操作
- 重構殘存程式碼
- 多次Stream 呼叫
- 高階函式
- 善用Lambda 表達式
- 重點
- 練習
- 進階練習
- 第四章 程式庫
- 程式中的Lambda 表達式運用
- 基本型態
- 重載解析
- @FunctionalInterface
- 二進位介面相容性
- 預設方法
- 預設方法與子類化
- 多重繼承
- 三個規則
- 利弊權衡
- 介面的靜態方法
- Optional
- 重點
- 練習
- 開放式練習
- 第五章 進階群集與收集器
- 方法參考
- 元素定序
- 進入收集器
- 納入其他群集
- 納為數值
- 資料劃分
- 資料分組
- 字串
- 組裝收集器
- 重構與自訂收集器 (1/2)
- 重構與自訂收集器 (2/2)
- 歸納為收集器
- 群集之美
- 重點
- 練習
- 第六章 資料平行
- 平行vs. 並行
- 平行為何重要?
- 平行Stream 操作
- 模擬
- 當心
- 效能
- 平行陣列操作
- 重點
- 練習
- 第七章 測試、除錯與重構
- Lambda 重構候選對象
- 又進又出,不如攪和在一起
- 孤伶伶地重寫
- 行為上的WET
- Lambda 表達式單元測試
- 測試替身中的Lambda 表達式
- 惰性求值vs. 除錯
- 日誌與列示
- 方案:peek
- 中游中斷點
- 重點
- 第八章 設計與架構原則
- 運用了Lambda 的設計模式
- 命令模式
- 策略模式
- 觀察者模式
- 樣版方法模式
- 運用了Lambda 的領域專用語言
- Java 的DSL
- 如何實作?
- 考量
- 運用了Lambda 的SOLID 原則
- 單一職責原則
- 開放/封閉原則
- 依賴反轉原則
- 進階閱讀
- 重點
- 第九章 運用了Lambda 的並行
- 為何使用非阻斷I/O ?
- 回呼
- 訊息傳送架構
- 死亡金字塔
- Future
- CompletableFuture
- Reactive 程式設計
- 時機與場合
- 重點
- 練習
- 第十章 繼續前進
- 索引 (1/2)
- 索引 (2/2)
- 關於作者
- 出版記事
Product information
- Title: Java 8 Lambdas 技術手冊
- Author(s):
- Release date: November 2014
- Publisher(s): GoTop Information, Inc.
- ISBN: None
You might also like
video
Java SE 17 Developer (1Z0-829)
21+ Hours of Video Instruction An intensive and guided video course to learn and practice while …
book
Java Coding Problems
Develop your coding skills by exploring Java concepts and techniques such as Strings, Objects and Types, …
video
The Complete Java Developer Course: From Beginner to Master
Be it websites, mobile apps, or desktop software, Java remains one of the most popular programming …
book
Practical Domain-Driven Design in Enterprise Java: Using Jakarta EE, Eclipse MicroProfile, Spring Boot, and the Axon Framework
See how Domain-Driven Design (DDD) combines with Jakarta EE MicroProfile or Spring Boot to offer a …