03.03 騰訊架構師全面講解Java8實戰pdf

前言

簡單地說,Java 8中的新增功能是自Java 1.0發佈18年以來,Java發生的最大變化。沒有去掉

任何東西,因此你現有的Java代碼都能工作,但新功能提供了強大的新語彙和新設計模式,能幫

助你編寫更清楚、更簡潔的代碼。就像遇到所有新功能時那樣,你一開始可能會想:“為什麼又

要去改我的語言呢?”但稍加練習之後,你就會發覺自己只用預期的一半時間,就用新功能寫出

了更短、更清晰的代碼,這時你會意識到自己永遠無法返回到“舊Java”了。

本書會幫助你跨過“原理聽起來不錯,但還是有點兒新,不太適應”的門檻,從而熟練地進

行編程。

如果還沒有購買又需要這本【阿里技術精選】書籍文檔的話幫忙轉發一下然後再關注我私信回覆“電子書”免費獲取吧!

此書籍具體內容有:

第1章中,我們總結了Java的主要變化(Lambda表達式、方法引用、流和默認方法),

併為學習後面的內容做好準備。

第2章中,你將瞭解行為參數化,這是Java 8非常依賴的一種軟件開發模式,也是引入

Lambda表達式的主要原因。

第3章全面地解釋了Lambda表達式和方法引用,每一步都有代碼示例和測驗。

第4章介紹了流的概念,並解釋它們與集合有何異同。

第5章詳細討論了表達複雜數據處理查詢可以使用的流操作。我們會談到很多模式,如篩

選、切片、查找、匹配、映射和歸約。

第6章講到了收集器——Stream API的一個功能,可以讓你表達更為複雜的數據處理查詢。

第7章中,你將瞭解流如何得以自動並行執行,並利用多核架構的優勢。此外,你還會

學到為正確而高效地使用並行流,要避免的若干陷阱。

第8章探討了如何利用Java 8的新功能和一些秘訣來改善你現有的代碼。此外,該章還探

討了一些重要的軟件開發技術,如設計模式、重構、測試和調試。

第9章中,你將瞭解到默認方法是什麼,如何利用它們來以兼容的方式演變API,一些

實際的應用模式,以及有效使用默認方法的規則。

第10章談到了新的 java.util.Optional 類,它能讓你設計出更好的API,並減少空指針

異常。

第11章探討了 CompletableFuture ,它可以讓你用聲明性方式表達複雜的異步計算,從

而讓Stream API的設計並行化。

第12章

探討了新的日期和時間API,這相對於以前涉及日期和時間時容易出錯的API是一

大改進。

第13章是一個完整的函數式編程教程,介紹了一些術語,並解釋瞭如何在Java 8中編寫函

數式風格的程序。

第14章涵蓋了更高級的函數式編程技巧,包括高階函數、科裡化、持久化數據結構、延

遲列表和模式匹配。你可以把這一章看作一種融合,既有可以用在代碼庫中的實際技術,

也有讓你成為更淵博的程序員的學術知識。

第15章對比了Java 8的功能與Scala的功能。Scala和Java一樣,是一種實施在JVM上的語言,

近年來迅速發展,在編程語言生態系統中已經威脅到了Java的一些方面。

在第16章我們會回顧這段學習Java 8並慢慢走向函數式編程的歷程。此外,我們還會猜測,

在Java 8之後,未來可能還有哪些增強和新功能出現。


為什麼要關心Java 8: Java怎麼又變了,日新月異的計算應用背景:多核和處理大型數據集(大數據), 改進的壓力:函數式比命令式更適應新的體系架構, Java 8的核心新特性:Lambda(匿名函數)、流、默認方法


騰訊架構師全面講解Java8實戰pdf

通過行為參數化傳遞代碼:應對不斷變化的需求,行為參數化, 匿名類,Lambda表達式預覽, 真實示例: Comparator 、 Runnable 和GUI


騰訊架構師全面講解Java8實戰pdf

騰訊架構師全面講解Java8實戰pdf


Lambda表達式:Lambda管中窺豹,在哪裡以及如何使用Lambda,環繞執行模式,函數式接口,類型推斷,方法引用,Lambda複合


騰訊架構師全面講解Java8實戰pdf


騰訊架構師全面講解Java8實戰pdf

引入流:什麼是流,集合與流, 內部迭代與外部迭代,中間操作與終端操作


騰訊架構師全面講解Java8實戰pdf

使用流: 篩選、切片和匹配,查找、匹配和歸約,使用數值範圍等數值流, 從多個源創建流,無限流


騰訊架構師全面講解Java8實戰pdf


騰訊架構師全面講解Java8實戰pdf

用流收集數據:用 Collectors 類創建和使用收集器,將數據流歸約為一個值,彙總:歸約的特殊情況, 數據分組和分區,開發自己的自定義收集器


騰訊架構師全面講解Java8實戰pdf


騰訊架構師全面講解Java8實戰pdf

並行數據處理與性能:用並行流並行處理數據,並行流的性能分析分支/合併框架,使用 Spliterator 分割流


騰訊架構師全面講解Java8實戰pdf

重構、測試和調試: 如何使用Lambda表達式重構代碼, Lambda表達式對面向對象的設計模式的影響, Lambda表達式的測試,如何調試使用Lambda表達式和Stream API的代碼


騰訊架構師全面講解Java8實戰pdf


騰訊架構師全面講解Java8實戰pdf

默認方法: 什麼是默認方法,如何以一種兼容的方式改進API, 默認方法的使用模式, 解析規則


騰訊架構師全面講解Java8實戰pdf

用 Optional 取代 null:null 引用引發的問題,以及為什麼要避免 null 引用,從 null 到 Optional :以 null 安全的方式重寫你的域模型,讓 Optional 發光發熱: 去除代碼中對 null 的檢查,讀取 Optional 中可能值的幾種方法,對可能缺失值的再思考


騰訊架構師全面講解Java8實戰pdf


騰訊架構師全面講解Java8實戰pdf

CompletableFuture :組合式異步編程:創建異步計算,並獲取計算結果,使用非阻塞操作提升吞吐量,設計和實現異步API,如何以異步的方式使用同步的API, 如何對兩個或多個異步操作進行流水線和合並操作, 如何處理異步操作的完成狀態


騰訊架構師全面講解Java8實戰pdf


騰訊架構師全面講解Java8實戰pdf

新的日期和時間API:為什麼在Java 8中需要引入新的日期和時間庫,同時為人和機器表示日期和時間,定義時間的度量,操縱、格式化以及解析日期,處理不同的時區和曆法


騰訊架構師全面講解Java8實戰pdf

函數式的思考:為什麼要進行函數式編程,什麼是函數式編程,聲明式編程以及引用透明性, 編寫函數式Java的準則,迭代和遞歸


騰訊架構師全面講解Java8實戰pdf


騰訊架構師全面講解Java8實戰pdf

函數式編程的技巧:一等成員、高階方法、科裡化以及局部應用,持久化數據結構,生成Java Stream 時的延遲計算和延遲列表, 模式匹配以及如何在Java中應用, 引用透明性和緩存


騰訊架構師全面講解Java8實戰pdf

面向對象和函數式編程的混合:Java 8和Scala的比較:

什麼是Scala語言,Java 8與Scala是如何相生相承的,Scala中的函數與Java 8中的函數有哪些區別,類和trait


騰訊架構師全面講解Java8實戰pdf


騰訊架構師全面講解Java8實戰pdf

結論以及Java的未來:Java 8的新特性以及其對編程風格顛覆性的影響,由Java 8萌生的一些尚未成熟的編程思想,Java 9以及Java 10可能發生的變化


騰訊架構師全面講解Java8實戰pdf


分享到:


相關文章: