[置頂] 個人 Java 後端書架 (2016 年暖冬版)

轉自:  http://calvin1978.blogcn.com/articles/bookshelf16.htmlhtml

個人 Java 後端書架 (2016 年暖冬版)


本書架主要針對 Java 後端開發與架構。

更新記錄:4.0 版把第五部份-具體技術的書整塊拿掉了。《TCP/IP 詳解 卷 1: 協議》出到了第二版,增長《SRE:Google 運維解密》,《Java 8 實戰》。程序員

更偏心那些能用簡短流暢的話,把少壯不努力的程序員所需的基礎補回來的薄書,而有些教課書可能很著名,但乾澀枯燥,喋喋不休的把你帶回到大學課堂上昏昏欲睡,不錄。
 面試

1. 操做系統與網絡的書

《Linux 內核設計與實現 第 3 版》
Robert Love 用最薄的篇幅,順暢的文字將 Linux 內核主要的算法講清楚了,《深刻理解 Linux 內核》《深刻 Linux 內核架構》之類厚厚的全是代碼,不是專門的內核程序員看這本足夠了。算法

《Linux 系統編程 第 2 版》
繼續是 Robert Love,比起 APUE 也是以薄見長,專門針對重要的系統調用講解。編程

《性能之巔》
操做系統的性能調優、監控、工具和方法論,看這本就夠了,已經足夠厚,多是書單裏最厚的一本。後端

《TCP/IP 詳解 卷 1: 協議》
這麼多年過去了,TCP 的書好像主要仍是隻有這一本,有點舊了,看了也仍是半懂不懂的。後人在 2011 年寫了第二版。設計模式

《WireShark 網絡分析就這麼簡單》和 《WireShark 網絡分析的藝術》
多少人,是看了這兩本輕鬆又實戰的書,才真正理解 TCP 的細節。網絡

PS:《UNIX 環境高級編程》《UNIX 網絡編程》,APUE 和 UNP 更多做爲一本超厚工具書存在。《Unix 編程藝術》,扯的都是閒篇,厚厚的一本其實略讀一下就行。 《現代操做系統 第 3 版》若是看 LKD 未盡興,能夠回頭看看這本基礎概念,感受比那本枯燥的《操做系統概念》(恐龍書)讀起來舒服。數據結構

《TCP/IP 指南》 前面 wireshark 書做者的推薦,網上有英文免費版,而後有中文版的卷 1卷 2,但可能那麼多章節那麼厚你只關心 TCP 和 HTTP 兩部分。《HTTP 權威指南》,一樣是本身從厚厚的目錄裏挑選感興趣的章節來看。架構

另外,那些日本韓國人寫的《圖解 XXX》感受都不喜歡。

 

2. 算法的書

《數據結構與算法分析 - Java 語言描述 第 3 版》
夠薄,數據結構與算法分析的點基本都涵蓋了,並且喜歡它的示例代碼是 Java 寫的,新出了第 3 版。

《算法 第 4 版》
可與上一本對比着讀,厚一些,也多些圖,但知識點沒上面的全,也是 Java 的。

PS: 《數學之美》《編程珠璣》,都是專欄文章,講得並不系統,能夠當興趣讀物來看。

數學系偏心無比枯燥不少公式的《算法導論》, 計算機系喜歡這本實用主義的《算法設計與分析基礎 第 3 版》

 

3. 架構設計的書

《軟件系統架構:使用視點和視角與利益相關者合做 第 2 版》
也是教科書,最可貴的是,這本老書在十年後的去年升級了第二版,因此感受鮮活了好多,也許是最鮮活的一本架構書。

《恰如其分的軟件架構 - 風險驅動的設計方法》
因爲人類與生俱來的惰性,計算機本來科學的、精準的設計方式,有了敏捷的藉口以後就很難再維持了。本書就是在這種背景下,提出由風險來決定設計的度。除了開始的風險驅動部分,其他部分就是規規矩矩標標準準的架構師教科書。

《SRE:Google 運維解密》
廣告詞是 「地球上有這麼一個團隊,將運維推向極限高度」,稍嫌標題黨,不少值得翻的東西。

《發佈!軟件的設計與部署》
關於高可靠性的軟件,學校裏不會教,出來社會卻要面對的那部分,英文的原標題更清晰。

《大型網站技術架構: 核心原理與案例分析》
淘寶出品,大型互聯網站的科普入門書。

《高擴展性網站的 50 條原則》
同是入門級讀物,若是還有個高可用 50 條原則,那就齊了。

《微服務設計》
那麼多微服務的書,仍是這本比較不像賺快錢的。

《大數據日知錄》
前幾年參加各類技術會議,CAP,最終一致性,RWN,向量時鐘,Paxos,一致性哈希,Gossip 什麼的能灌你一耳朵。而如今,你只要在家安安靜靜的看書就夠了。不過這個領域發展太快,又一年過去了,指望它能夠持續出新版。

PS: 關於設計模式,我之前曾經有過不少不少本,GOF 23 啦,企業應用架構模式啦,EIP 啦, POSA 5 卷本啦,反模式啦, JavaEE / SOA / Restful 的模式啦。但如今以爲對新人來講,一本 Java 寫的《Head First 設計模式》,知道什麼叫設計模式就夠了。

《程序員必讀之軟件架構》做者維護着 codingthearchitecture.com 。不過中文書名叫「必讀」有點過。

 

4. Java 語言的書

《Java 併發編程實戰》
Java 併發經典,人手一本不用多說了。

《實戰 Java 高併發程序設計》
國人新做,流暢易讀,內容也比上面一原本得新。

《Java 8 實戰》
Java 8 的新特性講得最全最仔細的。

《深刻理解 Java 虛擬機 第 2 版》
理解虛擬機並非那麼難,Java 程序員來講,不少知識實際上是必須的。另外還有幾本相似主題的書,突然一會兒都出來了。

《Java 性能權威指南》
比起多年前那部調優聖經,講得更加深刻,也更加貼近如今的 JDK。能夠從裏面挑些知識點來,作 Java 調優的面試題。

《有效的單元測試》
不一樣於那些動輒 BDD 的高深書籍,專一於如何寫「好」的,可維護的單元測試,拿來給團隊看,能省不少口水。

PS:《Effective Java》外界一致推崇,但有點太過譽了。另外《Thinking in Java》有點舊了,並且做者思路隨意,譯者語言晦澀,新程序員仍是建議同時再看兩卷《Java 核心技術 - Core Java》

 

6. 程序員的自我修養

PS. 最近沒買什麼新書,隨便說點舊書:

《程序員修煉之道-從小工到專家》,Pragmatic Programmer - 注重實效的程序員開山之做,翻譯的馬達維文筆也和熊節同樣好。

《代碼整潔之道》和 《程序員的職業素養》,英文名是很相近的《Clean Code》和 《Clean Coder》,應該接替《代碼大全 2》成爲必看的系列,由於後者太厚了,並且也有很多過期的東西,要本身去過濾。

《重構》很厚,但最有價值就是前面幾章的洗腦篇,具體實做不如薄薄的《重構手冊》

關於敏捷的書,最開始的那本《解析極限編程--擁抱變化》就很好,再隨便找本 Scrum 的流程看看就夠了,《敏捷開發的藝術》也不錯。

《佈道之道》,常常在組織裏推行新技術的同窗能夠看下,七種懷疑論者模式,腦海中一幅幅熟悉的面孔。

PS. 溫伯格的書網上很推崇,《成爲技術領導者》之類的,但我以爲年代太遠,讀起來其實沒多大意思,一兩個雞湯觀點還要本身從書裏慢慢淘,有那功夫不如看點別的。

 

新公衆號"春天的旁邊"開張,歡迎查找訂閱。或手機掃描下面的二維碼:

文章持續修訂,轉載請保留原連接: http://calvin1978.blogcn.com/articles/bookshelf16.html

相關文章
相關標籤/搜索