java后端程序員書單
本文關(guān)鍵詞:編程珠璣,由筆耕文化傳播整理發(fā)布。
java后端程序員書單
轉(zhuǎn)自:
=======================
1. 操作系統(tǒng)與網(wǎng)絡的書
《Linux內(nèi)核設計與實現(xiàn) - Linux Kernel Development 第3版》
Robert Love用最薄的篇幅,順暢的文字將Linux內(nèi)核主要的算法講清楚了,比《深入理解Linux內(nèi)核》,《深入Linux內(nèi)核架構(gòu)》之類厚厚的全是代碼的,不是專門的內(nèi)核程序員看這本足夠了。
《Linux系統(tǒng)編程 第2版》
繼續(xù)是Robert Love,比起APUE也是以薄見長,專門針對重要的系統(tǒng)調(diào)用講解。
《性能之巔》
操作系統(tǒng)的性能調(diào)優(yōu)、監(jiān)控、工具和方法論,看這本就夠了,足夠厚。還有本薄一點的,東抄西編格調(diào)沒那么高的叫《Linux性能優(yōu)化大師》。
《TCP/IP詳解 卷1:協(xié)議》
這么多年過去了,TCP的書好像還是只有這一本,有點舊了,看了也還是半懂不懂。后人在2011年寫了第二版,看目錄清晰明了與時俱進了很多,機械工業(yè)正在翻譯。
《現(xiàn)代操作系統(tǒng) 第3版》
如果看LKD未盡興,可以回頭看看這本基礎概念,感覺比那本枯燥的《操作系統(tǒng)概念》(恐龍書)讀起來舒服。
PS. 《UNIX環(huán)境高級編程》和《UNIX網(wǎng)絡編程》,APUE和UNP更多作為一本超厚工具書存在!禪nix 編程藝術(shù)》,扯的都是閑篇,厚厚的一本其實略讀一下就行。
2. 算法的書
《數(shù)據(jù)結(jié)構(gòu)與算法分析-Java語言描述 第2版》
夠薄,數(shù)據(jù)結(jié)構(gòu)與算法分析的點基本都涵蓋了,而且示例代碼還是Java寫的。
《算法 第4版》
可與上一本對比著讀,厚一些,也多些圖,但知識點沒上面的全,也是Java的。
《算法設計與分析基礎 第3版》
數(shù)學系偏愛無比枯燥很多公式的《算法導論》,計算機系喜歡這本實用主義的典型。翻開就看到一段很文藝很貼心的話:“效率能用數(shù)學的嚴密性進行精確定義,而簡單性就像“美”一樣,很大程度取決于審視者的眼光。簡單的算法更容易理解和實現(xiàn),因而相應的程序也往往更少的Bug。當然對于簡單性的美學訴求也是讓人無法抗拒的!
PS. 《數(shù)學之美》、《編程珠璣》,都是專欄文章,講得并不系統(tǒng),可以當興趣讀物來看。
3. 架構(gòu)設計的書
《恰如其分的軟件架構(gòu) - 風險驅(qū)動的設計方法》
由于人類與生俱來的惰性,計算機原本科學的、精準的設計方式,有了敏捷的借口之后就很難再維持了。本書就是在這種背景下,提出由風險來決定設計的度,當然,這個風險是廣義的。除了開始的風險驅(qū)動部分,其余部分就是規(guī)規(guī)矩矩標標準準的架構(gòu)師教科書。
《軟件系統(tǒng)架構(gòu):使用視點和視角與利益相關(guān)者合作 第2版》
也是教科書,最難得的是,這本老書在十年后的去年升級了第二版。
《程序員必讀之軟件架構(gòu) - Software Architecture for Developers》
作者維護著codingthearchitecture.com 。不過中文書名叫“必讀”有點過。薄書里的兩部分內(nèi)容:
1. 編碼的架構(gòu)師:一直是我的職業(yè)模板,我記的筆記。
2. 架構(gòu)的表達: 當年我覺得RUP的4+1 UML視圖不足以表達系統(tǒng)時,Simon Brown的模板給了很好的過渡范例。
《發(fā)布!軟件的設計與部署 - Release It!: Design and Deploy Production-Ready Software 》
關(guān)于高可靠性的軟件,學校里不會教,出來社會卻要面對的那部分,英文的原標題更清晰。
《大型網(wǎng)站技術(shù)架構(gòu):核心原理與案例分析》
淘寶出品,大型互聯(lián)網(wǎng)站的科普入門書。
《大規(guī)模分布式存儲系統(tǒng)》
繼續(xù)淘寶出品,分布式文件系統(tǒng)與數(shù)據(jù)庫的科普入門書。
《大數(shù)據(jù)日知錄》
前幾年參加各種技術(shù)會議,CAP,最終一致性,RWN,向量時鐘,Paxos,一致性哈希,Gossip什么的能灌你一耳朵。而現(xiàn)在,你只要在家安安靜靜的看書就夠了。不過這個領(lǐng)域發(fā)展太快,期望它可以持續(xù)出新版。
PS. 關(guān)于設計模式,我以前曾經(jīng)有過很多很多本,GOF23啦,,企業(yè)應用架構(gòu)模式啦,EIP啦, POSA 5卷本啦,反模式啦,JavaEE/SOA/Restful的模式啦。但現(xiàn)在覺得對新人來說,一本Java寫的《Head First 設計模式》,知道什么叫設計模式就夠了。
4. 語言的書
《Java并發(fā)編程實戰(zhàn)》
人手一本不用多說了。
《深入理解 Java 虛擬機 第2版》
深入理解虛擬機并不是那么難,Java程序員都該看看,很多知識其實是必須的。另外還有幾本類似主題的,忽然一下子都出來了。
《Java性能優(yōu)化權(quán)威指南》
雖然后面的章節(jié)好像用處不大,前面有些部分還是值得看,不過Gosling說圣經(jīng)有點過了。
《寫給大忙人看的Java SE 8》
事實上,為了保持兼容性,很多項目還保持在JDK5/6上,這本書一次過將JDK7/JDK8的更新講了,雖然講得還不全。
《函數(shù)式編程思維》
Java8終于有函數(shù)式的影子了,不要落后太多,開始嘗試跟上節(jié)奏。這本書是TW的Neal Ford面向Java程序員寫的薄書。
《七周七語言》
《七周七X》系列的開山之作,可能也是最好的一本。
PS. 《Effective Java》外界一致推崇,但有點太過譽了。另外《Thinking in Java》有點舊了,而且作者思路隨意,譯者語言晦澀,新程序員還是建議同時再看兩卷《Java核心技術(shù) - Core Java》。
5. 具體技術(shù)的書
《Docker: 容器與容器云》
這本書叫Docker一本就夠了,的確夠了,在那些Docker操作指南書之上,不想著改Docker代碼的看它就夠了,別想著什么《Docker源碼分析》。
《Redis設計與實現(xiàn)》
用Redis的工程師桌面必備吧,不用再多說了。
《從Paxos到Zookeeper》
Zookeeper的書,淘寶出品。
《Spark技術(shù)內(nèi)幕》
深度與厚度之間,選了這本200頁的薄書,一樣有很多的原理與代碼解釋,但不會像有的書那樣貼20行代碼只寫一行字。
《Netty權(quán)威指南 第2版》
雖然網(wǎng)上的吐槽較多,但Netty 快速入門也只有這一本了。
6. 程序員的自我修養(yǎng)
PS. 最近沒買什么新書,隨便說點舊書:
《程序員修煉之道-從小工到專家》,Pragmatic Programmer-注重實效的程序員開山之作,翻譯的馬達維文筆也和熊節(jié)一樣好。
《代碼整潔之道》和 《程序員的職業(yè)素養(yǎng)》,英文名是很相近的《Clean Code》和 《Clean Coder》,應該接替《代碼大全2》成為必看的系列,因為后者太厚了,而且也有不少過時的東西,要自己去過濾。
《重構(gòu)》很厚,但最有價值就是前面幾章的洗腦篇,具體實作不如薄薄的《重構(gòu)手冊》。
關(guān)于敏捷的書,最開始的那本《解析極限編程--擁抱變化》就很好,再隨便找本Scrum的流程看看就夠了,《敏捷開發(fā)的藝術(shù)》也不錯。
《布道之道 - Driving Technical Change:Why People on Your Team Don't Act on Good Ideas,and How to Convince Them They Should》,經(jīng)常在組織里推行新技術(shù)的同學可以看下,七種懷疑論者模式,腦海中一幅幅熟悉的面孔。
PS. 溫伯格的書網(wǎng)上很推崇,《成為技術(shù)領(lǐng)導者》之類的,但我覺得年代太遠,讀起來其實沒多大意思,一兩個雞湯觀點還要自己從書里慢慢淘,有那功夫不如看點別的。
7. 沒有覆蓋到的內(nèi)容
數(shù)據(jù)庫如MySQL,我們DBA太專業(yè),自己沒機會搞。
本文關(guān)鍵詞:編程珠璣,由筆耕文化傳播整理發(fā)布。
本文編號:237322
本文鏈接:http://sikaile.net/wenshubaike/mishujinen/237322.html