java推薦書單 什麼值得讀 (2018年6月30日更新)
2018年6月30日更新
更新《java工程師修煉之道》2018年5月10日更新
更新《mysql運維內參》2018年4月1日更新
一直想寫一篇這樣的文章,因自負讀過技術類的書籍也不少,最開始是隻要是感興趣的方向的書不管青紅皁白一字不落一氣讀完,後來對技術書籍有一定閱覽量後逐漸總結出這麼兩條規律:
1.不是所有的技術書都值得讀;
2.一本書種不是每一行文字都要仔細研讀;
歸納成一點就是讀書要有側重。對於書本內容的側重,我們可以根據經驗或者當前使用情況進行一個權衡;但是一本書值不值得讀,在網上選購書的我們很難去做一個判斷。我碰到過不少好書,但也入過一些坑,所以這裡就總結一下,分不同的方向將我讀過的且認為值得推薦的書做一個列表,希望對大家有所幫助。
java基礎
《java程式設計思想》(Bruce Eckel)
第一本肯定毫無懸念地推薦這本了,相當於行業人手一本的聖經。不用過多解釋。
《Java面向物件程式設計》(孫衛琴)
這本書是我的java啟蒙書,和其他java語言入門書籍不同的是,它真正讓我對java有一個系統的概念。
《深入分析Java Web技術內幕修訂版》(許令波)
算是我對java web的啟蒙書,雖然書名說java web,書中還有對spring框架、JVM等知識的介紹。作者是阿里人,這本書也是在我心目中阿里系技術書籍中排行榜排名頭幾位的。
《Java工程師修改之道》(杭建)
書的內容覆蓋面很廣,但是廣的同時勢必就不能保證講的很細。但是作為開啟寬度的敲門書籍,很適合工作2-3年的同學觀摩一下。
JVM
《Java虛擬機器精講》(高翔龍)
對JDK1.6及之前的JVM進行了詳細講解,可同下面《深入理解Java虛擬機器》一書搭配閱讀,覆蓋全部知識點。
《深入理解Java虛擬機器(第2版) : JVM高階特性與最佳實踐》(周志明)
《Java虛擬機器規範》
每當JDK推出新版本的時候都會同時發出JVM規範,如果不想等國內書籍的滯後出版,應該先看看原著是怎麼說的。
多執行緒
《Java併發程式設計的藝術》(方騰飛、魏鵬、程曉明)
可以和下面《Java多執行緒程式設計實戰指南(核心篇)》的書結合一起看,但是想真正掌握多執行緒的知識,juc包的原始碼不可不讀。
《Java多執行緒程式設計實戰指南(核心篇)》(黃文海)
比較完整地介紹了juc包的使用和實現,但還是那句話,原始碼不可不讀。
分散式知識
《大型網站技術架構 : 核心原理與案例分析》(李智慧)
大型網站技術啟蒙書籍,借用前同事的一句話:前兩章就把我們系統的技術都概括完了。作者文筆十分流暢,讀之十分暢快。
《大型網站系統與Java中介軟體開發實踐》(曾憲傑)
也是阿里人出的書,裡面涉及了不少分散式系統的理論,即使是2014年的書箇中知識今日讀之依然受用。
《企業IT架構轉型之道》(鍾華)
阿里技術書籍,可能是我目前看過的阿里系的書籍收穫最大的一本。至今反覆看了3遍仍然讀之有物。架構師必看之書,必反覆看之書。
《人人都是架構師:分散式系統架構落地與瓶頸突破》(高翔龍)
如果順利一天即可讀完,書中的一些分散式系統理論值得去總結。
《分散式服務架構:原理、設計與實戰》李豔鵬、楊彪
第二章非常精彩,完美總結了分散式事務一致性的問題,值得閱讀。
《億級流量網站架構核心技術 : 跟開濤學搭建高可用高併發系統》(張開濤)
目前讀過京東系技術書籍唯一一本還值得推薦的。本書內容大部分總結自作者的部落格,同時作者的公眾號也值得關注。
《高效能服務系統構建與實戰》(銀文傑)
本書最精華之處在於對負載層技術的總結,Nginx、keepalived和LVS使用。對通訊知識的介紹也不錯。
《微服務設計》(Sam Newman / 崔力強、張駿)
對微服務的理論、問題解決思路進行了介紹,譯者翻譯水平很高,語句非常通暢。
開源框架
《Spring原始碼深度解析》(郝佳)
Spring容器講解,基於3.0版本,可結合下面《Spring技術內幕》兩本書一起看,佐之Spring原始碼。
《Spring技術內幕(第2版) : 深入解析Spring架構與設計原理》(計文柯)
書中大幅的原始碼分析,但是作者語言組織能力欠佳。不過仍然值得一看。
《看透Spring MVC : 原始碼分析與實踐》(韓路彪)
主要分析Spring MVC的原始碼,包括DispatcherServlet、HandleMapping和HandleAdapter等面試必問類的講解。
中介軟體
《從Paxos到Zookeeper : 分散式一致性原理與實踐》(倪超)
阿里人的書。不多介紹,zookeeper讀這一本就夠了。
《深入理解Nginx(第2版) : 模組開發與架構解析》(陶輝)
前兩章講Nginx的配置和使用,後面章節講自定義外掛的開發。這本書可以解決你所有關於Nginx的困撓。
《RabbitMQ實戰》(Alvaro Videla、Jason J. W. Williams / 汪佳南)
本書是基於python語言講解的,基本把RabbitMQ的原理講通。不過並不是特別好,後面如有好書再行替換。
《Redis設計與實現》(黃健巨集)
從原始碼層面講解Redis,啥也不說,必讀之書。
《Redis開發與運維》(付磊、張益軍)
工具
《Maven實戰》(許曉斌)
一本書解決你所有關於Maven的困擾。
《Git權威指南》(蔣鑫)
一本書解決你所有關於git的困擾。
資料庫
《MySQL DBA修煉之道》(陳曉勇)
系統瞭解下mysql的配置,和基本運維操作命令。
《MySQL運維內參》(周彥偉 王竹峰 強昌金)
同樣適合開發同學觀摩,從mysql底層實現,講解各個功能的實現,還有調優引數、故障處理的介紹。