歡迎光臨
每天分享高質量文章

Java學習必備書籍推薦終極版!

來自:JavaGuide(微訊號:JavaGuide)

 

歡迎在留言區補充你覺得不錯的 Java 方向的書籍或者計算機基礎必看的書籍!你也可以直接閱讀原文在Github給我提PR,參與這個書單的完善。

Java

基礎

《Head First Java》[1](推薦,豆瓣評分 8.7,1.0K+人評價):可以說是我的 Java 啟蒙書籍了,特別適合新手讀當然也適合我們用來溫故 Java 知識點。《Java 核心技術捲 1+捲 2》[2](推薦): 很棒的兩本書,建議有點 Java 基礎之後再讀,介紹的還是比較深入的,非常推薦。這兩本書我一般也會用來鞏固知識點,是兩本適合放在自己身邊的好書。《JAVA 網路程式設計 第 4 版》[3]:可以系統的學習一下網路的一些概念以及網路程式設計在 Java 中的使用。《Java 程式設計思想 (第 4 版)》[4](推薦,豆瓣評分 9.1,3.2K+人評價):大部分人稱之為Java領域的聖經,但我不推薦初學者閱讀,有點勸退的味道。稍微有點基礎後閱讀更好。

併發

《Java 併發程式設計之美》[5](推薦):2018 年 10 月出版的一本書,個人感覺非常不錯,對每個知識點的講解都很棒。《Java 併發程式設計的藝術》[6](推薦,豆瓣評分 7.2,0.2K+人評價):這本書不是很適合作為 Java 併發入門書籍,需要具備一定的 JVM 基礎。我感覺有些東西講的還是挺深入的,推薦閱讀。《實戰 Java 高併發程式設計》[7](推薦,豆瓣評分 8.3):書的質量沒的說,推薦大家好好看一下。《Java 高併發程式設計詳解》[8](豆瓣評分 7.6):2018 年 6 月出版的一本書,內容很詳細,但可能又有點過於囉嗦,不過這隻是我的感覺。

JVM

《深入理解 Java 虛擬機器(第 2 版)周志明》[9](推薦,豆瓣評分 8.9,1.0K+人評價):建議多刷幾遍,書中的所有知識點可以透過 JAVA 執行時區域和 JAVA 的記憶體模型與執行緒兩個大模組羅列完全。《實戰 JAVA 虛擬機器》[10](推薦,豆瓣評分 8.0,1.0K+人評價):作為入門的瞭解 Java 虛擬機器的知識還是不錯的。

Java8 新特性

《Java 8 實戰》[11](推薦,豆瓣評分 9.2 ):面向 Java 8 的技能升級,包括 Lambdas、流和函式式程式設計特性。實戰系列的一貫風格讓自己快速上手應用起來。Java 8 支援的 Lambda 是精簡表達在語法上提供的支援。Java 8 提供了 Stream,學習和使用可以建立流式程式設計的認知。《Java 8 程式設計參考官方教程》[12](推薦,豆瓣評分 9.2):也還不錯吧。

程式碼最佳化

《重構_改善既有程式碼的設計》[13](推薦):豆瓣 9.1 分,重構書籍的開山鼻祖。《Effective java 》[14](推薦,豆瓣評分 9.0,1.4K+人評價):本書介紹了在 Java 程式設計中 78 條極具實用價值的經驗規則,這些經驗規則涵蓋了大多數開發人員每天所面臨的問題的解決方案。透過對 Java 平臺設計專家所使用的技術的全面描述,揭示了應該做什麼,不應該做什麼才能產生清晰、健壯和高效的程式碼。本書中的每條規則都以簡短、獨立的小文章形式出現,並透過例子程式碼加以進一步說明。本書內容全面,結構清晰,講解詳細。可作為技術人員的參考用書。《程式碼整潔之道》[15](推薦,豆瓣評分 9.1):雖然是用 Java 語言作為例子,全篇都是在闡述 Java 面向物件的思想,但是其中大部分內容其它語言也能應用到。阿裡巴巴 Java 開發手冊(詳盡版) https://github.com/alibaba/p3c/blob/master/阿裡巴巴 Java 開發手冊(詳盡版).pdf[16]Google Java 程式設計風格指南: http://www.hawstein.com/posts/google-java-style.html[17]

網路

《圖解 HTTP》[18](推薦,豆瓣評分 8.1 , 1.6K+人評價):講漫畫一樣的講 HTTP,很有意思,不會覺得枯燥,大概也涵蓋也 HTTP 常見的知識點。因為篇幅問題,內容可能不太全面。不過,如果不是專門做網路方向研究的小夥伴想研究 HTTP 相關知識的話,讀這本書的話應該來說就差不多了。《HTTP 權威指南》[19](推薦,豆瓣評分 8.6):如果要全面瞭解 HTTP 非此書不可!

作業系統

《鳥哥的 Linux 私房菜》[20](推薦,,豆瓣評分 9.1,0.3K+人評價):本書是最具知名度的 Linux 入門書《鳥哥的 Linux 私房菜基礎學習篇》的最新版,全面而詳細地介紹了 Linux 作業系統。全書分為 5 個部分:第一部分著重說明 Linux 的起源及功能,如何規劃和安裝 Linux 主機;第二部分介紹 Linux 的檔案系統、檔案、目錄與磁碟的管理;第三部分介紹文字樣式介面 shell 和管理系統的好幫手 shell 指令碼,另外還介紹了文字編輯器 vi 和 vim 的使用方法;第四部分介紹了對於系統安全非常重要的 Linux 賬號的管理,以及主機系統與程式的管理,如檢視行程、任務分配和作業管理;第五部分介紹了系統管理員 (root) 的管理事項,如瞭解系統執行狀況、系統服務,針對登入檔案進行解析,對系統進行備份以及核心的管理等。

資料結構與演演算法

《大話資料結構》[21](推薦,豆瓣評分 7.9 , 1K+人評價):入門型別的書籍,讀起來比較淺顯易懂,適合沒有資料結構基礎或者說資料結構沒學好的小夥伴用來入門資料結構。《資料結構與演演算法分析:C 語言描述》[22](推薦,豆瓣評分 8.9,1.6K+人評價):本書是《Data Structures and Algorithm Analysis in C》一書第 2 版的簡體中譯本。原書曾被評為 20 世紀頂尖的 30 部計算機著作之一,作者 Mark Allen Weiss 在資料結構和演演算法分析方面卓有建樹,他的資料結構和演演算法分析的著作尤其暢銷,並受到廣泛好評.已被世界 500 餘所大學用作教材。《演演算法圖解》[23](推薦,豆瓣評分 8.4,0.6K+人評價):入門型別的書籍,讀起來比較淺顯易懂,適合沒有演演算法基礎或者說演演算法沒學好的小夥伴用來入門。示例豐富,圖文並茂,以讓人容易理解的方式闡釋了演演算法.讀起來比較快,內容不枯燥!《演演算法 第四版》[24](推薦,豆瓣評分 9.3,0.4K+人評價):Java 語言描述,演演算法領域經典的參考書,全面介紹了關於演演算法和資料結構的必備知識,並特別針對排序、搜尋、圖處理和字串處理進行了論述。書的內容非常多,可以說是 Java 程式員的必備書籍之一了。

資料庫

《高效能 MySQL》[25](推薦,豆瓣評分 9.3,0.4K+人評價):mysql 領域的經典之作,擁有廣泛的影響力。不但適合資料庫管理員(dba)閱讀,也適合開發人員參考學習。不管是資料庫新手還是專家,相信都能從本書有所收穫。《Redis 實戰》[26]:如果你想瞭解 Redis 的一些概念性知識的話,這本書真的非常不錯。《Redis 設計與實現》[27](推薦,豆瓣評分 8.5,0.5K+人評價):也還行吧!《MySQL 技術內幕-InnoDB 儲存引擎》[28](推薦,豆瓣評分 8.7):瞭解 InnoDB 儲存引擎底層原理必備的一本書,比較深入。

系統設計

設計樣式

《設計樣式 : 可復用面向物件軟體的基礎》 [29](推薦,豆瓣評分 9.1):設計樣式的經典!《Head First 設計樣式(中文版)》[30](推薦,豆瓣評分 9.2):相當贊的一本設計樣式入門書籍。用實際的程式設計案例講解演演算法設計中會遇到的各種問題和需求變更(對的,連需求變更都考慮到了!),並以此逐步推匯出良好的設計樣式解決辦法。

常用框架

《深入分析 Java Web 技術內幕》[31]:感覺還行,涉及的東西也蠻多。《Netty 實戰》[32](推薦,豆瓣評分 7.8,92 人評價):內容很細,如果想學 Netty 的話,推薦閱讀這本書!《從 Paxos 到 Zookeeper》[33](推薦,豆瓣評分 7.8,0.3K 人評價):簡要介紹幾種典型的分散式一致性協議,以及解決分散式一致性問題的思路,其中重點講解了 Paxos 和 ZAB 協議。同時,本書深入介紹了分散式一致性問題的工業解決方案——ZooKeeper,並著重向讀者展示這一分散式協調框架的使用方法、內部實現及運維技巧,旨在幫助讀者全面瞭解 ZooKeeper,並更好地使用和運維 ZooKeeper。《Spring 實戰(第 4 版)》[34](推薦,豆瓣評分 8.3,0.3K+人評價):不建議當做入門書籍讀,入門的話可以找點國人的書或者影片看。這本定位就相當於是關於 Spring 的新華字典,只有一些基本概念的介紹和示例,涵蓋了 Spring 的各個方面,但都不夠深入。就像作者在最後一頁寫的那樣:“學習 Spring,這才剛剛開始”。《RabbitMQ 實戰指南》[35]:《RabbitMQ 實戰指南》從訊息中介軟體的概念和 RabbitMQ 的歷史切入,主要闡述 RabbitMQ 的安裝、使用、配置、管理、運維、原理、擴充套件等方面的細節。如果你想淺嘗 RabbitMQ 的使用,這本書是你最好的選擇;如果你想深入 RabbitMQ 的原理,這本書也是你最好的選擇;總之,如果你想玩轉 RabbitMQ,這本書一定是最值得看的書之一《Spring Cloud 微服務實戰》[36]:從時下流行的微服務架構概念出發,詳細介紹了 Spring Cloud 針對微服務架構中幾大核心要素的解決方案和基礎元件。對於各個元件的介紹,《Spring Cloud 微服務實戰》主要以示例與原始碼結合的方式來幫助讀者更好地理解這些元件的使用方法以及執行原理。同時,在介紹的過程中,還包含了作者在實踐中所遇到的一些問題和解決思路,可供讀者在實踐中作為參考。《第一本 Docker 書》[37]:Docker 入門書籍!

網站架構

《大型網站技術架構:核心原理與案例分析+李智慧》[38](推薦):這本書我讀過,基本不需要你有什麼基礎啊~讀起來特別輕鬆,但是卻可以學到很多東西,非常推薦了。另外我寫過這本書的思維導圖,關註我的微信公眾號:“Java 面試通關手冊”回覆“大型網站技術架構”即可領取思維導圖。《億級流量網站架構核心技術》[39](推薦):一書總結並梳理了億級流量網站高可用和高併發原則,透過實體詳細介紹瞭如何落地這些原則。本書分為四部分:概述、高可用原則、高併發原則、案例實戰。從負載均衡、限流、降級、隔離、超時與重試、回滾機制、壓測與預案、快取、池化、非同步化、擴容、佇列等多方面詳細介紹了億級流量網站的架構核心技術,讓讀者看後能快速運用到實踐專案中。

軟體底層

《深入剖析 Tomcat》[40](推薦,豆瓣評分 8.4,0.2K+人評價):本書深入剖析 Tomcat 4 和 Tomcat 5 中的每個元件,並揭示其內部工作原理。透過學習本書,你將可以自行開發 Tomcat 元件,或者擴充套件已有的元件。讀完這本書,基本可以擺脫背誦面試題的尷尬。《深入理解 Nginx(第 2 版)》[41]:作者講的非常細緻,註釋都寫的都很工整,對於 Nginx 的開發人員非常有幫助。優點是細緻,缺點是過於細緻,到處都是程式碼片段,缺少一些抽象。

其他

《駭客與畫家》[42]:這本書是矽谷創業之父,Y Combinator 創始人 Paul Graham 的文集。之所以叫這個名字,是因為作者認為駭客(並非負面的那個意思)與畫家有著極大的相似性,他們都是在創造,而不是完成某個任務。

已同步到看一看
贊(0)

分享創造快樂