Java Lambda Tutorial

· 自行出版
5.0
9ଟି ସମୀକ୍ଷା
ଇବୁକ୍
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
9ଟି ସମୀକ୍ଷା

ଲେଖକଙ୍କ ବିଷୟରେ

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

ଏହି ଇବୁକ୍‍କୁ ମୂଲ୍ୟାଙ୍କନ କରନ୍ତୁ

ଆପଣ କଣ ଭାବୁଛନ୍ତି ତାହା ଆମକୁ ଜଣାନ୍ତୁ।

ପଢ଼ିବା ପାଇଁ ତଥ୍ୟ

ସ୍ମାର୍ଟଫୋନ ଓ ଟାବଲେଟ
Google Play Books ଆପ୍କୁ, AndroidiPad/iPhone ପାଇଁ ଇନଷ୍ଟଲ୍ କରନ୍ତୁ। ଏହା ସ୍ଵଚାଳିତ ଭାବେ ଆପଣଙ୍କ ଆକାଉଣ୍ଟରେ ସିଙ୍କ ହୋ‍ଇଯିବ ଏବଂ ଆପଣ ଯେଉଁଠି ଥାଆନ୍ତୁ ନା କାହିଁକି ଆନଲାଇନ୍ କିମ୍ବା ଅଫଲାଇନ୍‍ରେ ପଢ଼ିବା ପାଇଁ ଅନୁମତି ଦେବ।
ଲାପଟପ ଓ କମ୍ପ୍ୟୁଟର
ନିଜର କମ୍ପ୍ୟୁଟର୍‍ରେ ଥିବା ୱେବ୍ ବ୍ରାଉଜର୍‍କୁ ବ୍ୟବହାର କରି Google Playରୁ କିଣିଥିବା ଅଡିଓବୁକ୍‍କୁ ଆପଣ ଶୁଣିପାରିବେ।
ଇ-ରିଡର୍ ଓ ଅନ୍ୟ ଡିଭାଇସ୍‍ଗୁଡ଼ିକ
Kobo eReaders ପରି e-ink ଡିଭାଇସଗୁଡ଼ିକରେ ପଢ଼ିବା ପାଇଁ, ଆପଣଙ୍କୁ ଏକ ଫାଇଲ ଡାଉନଲୋଡ କରି ଏହାକୁ ଆପଣଙ୍କ ଡିଭାଇସକୁ ଟ୍ରାନ୍ସଫର କରିବାକୁ ହେବ। ସମର୍ଥିତ eReadersକୁ ଫାଇଲଗୁଡ଼ିକ ଟ୍ରାନ୍ସଫର କରିବା ପାଇଁ ସହାୟତା କେନ୍ଦ୍ରରେ ଥିବା ସବିଶେଷ ନିର୍ଦ୍ଦେଶାବଳୀକୁ ଅନୁସରଣ କରନ୍ତୁ।