Java Lambda Tutorial

· 自行出版
5,0
10 umsagnir
Rafbók
61
Síður

Um þessa rafbók

相對於 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 與平行化

Einkunnir og umsagnir

5,0
10 umsagnir

Um höfundinn

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

Gefa þessari rafbók einkunn.

Segðu okkur hvað þér finnst.

Upplýsingar um lestur

Snjallsímar og spjaldtölvur
Settu upp forritið Google Play Books fyrir Android og iPad/iPhone. Það samstillist sjálfkrafa við reikninginn þinn og gerir þér kleift að lesa með eða án nettengingar hvar sem þú ert.
Fartölvur og tölvur
Hægt er að hlusta á hljóðbækur sem keyptar eru í Google Play í vafranum í tölvunni.
Lesbretti og önnur tæki
Til að lesa af lesbrettum eins og Kobo-lesbrettum þarftu að hlaða niður skrá og flytja hana yfir í tækið þitt. Fylgdu nákvæmum leiðbeiningum hjálparmiðstöðvar til að flytja skrár yfir í studd lesbretti.