Java Lambda Tutorial

· 自行出版
5,0
10 կարծիք
Էլ. գիրք
61
Էջեր

Այս էլ․ գրքի մասին

相對於 JavaScript、Python、Scala 等本身支援一級函式(First class function)的語言,Java 開發者對於一級函式是比較陌生的,因而在 2010 年 JCD 中的議程 Lambda/Closure - 從 JavaScript、Python、Scala 到 Java SE 7,我簡單地從 JavaScript、Python、Scala 等語言的一級函式特性開始介紹,分享了 Java 要加入 Lambda/Closure 會有什麼樣的考量。

Java 的 Lambda 語法後來歷經了數次的討論與改變,後來確定在 Java SE 8 中引入 Lambda,也引進了因應新語法而帶來的 API 新功能,因而我在 2012 年 Java TWO 議程 Java SE 8 的 Lambda 連鎖反應 中,從 Lambda 演算開始探討了 Lambda 的前世今生,以及會對 Java 帶來的新典範(Paradigm)與風格。

Java 引入的新典範其實有著函數式程式設計(Functional programming)的影子,想要善用 Java 引入的 Lambda 語法與新 API,先認識函數式程式設計會有非常大的幫助,因而在 2012 年 JCD 中,我於議程 Java 開發者的函數式程式設計 中探討了函數式程式設計,以及在 Java 中如何適當地運用函數式風格。

Java SE 8 確定於 2014 年 3 月發表,而我發現過去的這幾個議程可以整理成為系列文章,讓大家可以認識 Java 中 Lambda 的前世今生。除此之外,最後並加上了 JDK8 Functional API 的介紹,讓本書對 JDK8 Lambda 的介紹更為完整。

認識 Lambda/Closure

  • 從 JavaScript 的函式物件談起
  • 什麼是 Closure?
  • Python 對 Lambda/Closure 的支援
  • 從 Scala 中借鏡
  • Java 的稻草人提案
  • 一級函式與 Lambda 演算
  • JDK8 Lambda 語法
  • 方法參考與建構式參考

Java 開發者的函數式程式設計

  • 初探函數式程式設計
  • 代數資料型態
  • List 處理模式
  • 不可變特性
  • JDK8 預設方法
  • 惰性
JDK8 Functional API
  • 使用 Optional 取代 null
  • Consumer、Function、Predicate 與 Supplier
  • 使用 Stream 進行管線操作
  • Stream 的 reduce 與 collect
  • Optional 與 Stream 的 flatMap
  • Stream 與平行化

Գնահատականներ և կարծիքներ

5,0
10 կարծիք

Հեղինակի մասին

目前為自由工作者,專長為技術寫作、翻譯與教育訓練。喜好研究程式語言、框架、社群,從中學習設計、典範及文化。閒暇之餘記錄所學,技術文件涵蓋 C/C++、Java、Ruby/Rails、Python、JavaScript、Haskell 等領域。

Գնահատեք էլ․ գիրքը

Կարծիք հայտնեք։

Տեղեկություններ

Սմարթֆոններ և պլանշետներ
Տեղադրեք Google Play Գրքեր հավելվածը Android-ի և iPad/iPhone-ի համար։ Այն ավտոմատ համաժամացվում է ձեր հաշվի հետ և թույլ է տալիս կարդալ առցանց և անցանց ռեժիմներում:
Նոթբուքներ և համակարգիչներ
Դուք կարող եք լսել Google Play-ից գնված աուդիոգրքերը համակարգչի դիտարկիչով:
Գրքեր կարդալու սարքեր
Գրքերը E-ink տեխնոլոգիան աջակցող սարքերով (օր․՝ Kobo էլեկտրոնային ընթերցիչով) կարդալու համար ներբեռնեք ֆայլը և այն փոխանցեք ձեր սարք։ Մանրամասն ցուցումները կարող եք գտնել Օգնության կենտրոնում։