一個忙碌架構師的Java後端書架-2018

一個忙碌架構師的Java後端書架-2018

見書單如面。

在這份書單裡,我是這麼一個同學:關心Java,關心架構,對文字有一定的潔癖;基礎知識懂一些,但忙,不會花太多時間來研究算法和OS;需要掌握一個軟件時會買一本XX in Action,但不買那種各式安裝指南、使用手冊的。

如果你和我差不多的趣味,那這份書單會適合你。

為了避免混淆,書名的顏色分類,紅色是種草, 黑色是拔草(至少不適合本文的預設讀者)

1. 國內一線的書

說到大型互聯網站的建設,我們在世界上也是一流的,比國外那些諮詢師寫的更深味其中艱辛。

《高可用架構(第一卷)》

厚厚的一本,新浪微博TimYang牽頭的高可用架構社區,幾十個一線實戰案例的結集分享,從頭看起的話只恨自己時間不夠多。

《大型網站: 架構演進與性能優化》

薄薄的一本,今年新書,淘寶的分佈式、無線化、中臺化、單元化的歷程與優化,同樣是滿滿的一線經驗。

《大型網站技術架構:核心原理與案例分析》

同是淘寶系薄書,如果一個新人進入到大型互聯網站,這是最好的入門科書普。

一個忙碌架構師的Java後端書架-2018

一個忙碌架構師的Java後端書架-2018


《億級流量網站架構核心技術》

京東開濤作品,很多技術掰細了講,所以也蠻厚的。

《京東基礎架構建設之路》

從早前的.Net,到如今大量自研組件的體系,可以給兄弟單位的基礎架構部做參考。

《進化 - 運維技術變革與實踐探索》

趙成的極客時間,印成書了。運維書裡難得講想法而不是工具使用的書: "運維能力是整體技術架構能力的體現,運維層面爆發的故障一定是整體技術架構中存在問題,割裂兩者,單純的看技術架構或運維都是毫無意義的。"

一個忙碌架構師的Java後端書架-2018


一個忙碌架構師的Java後端書架-2018


極客時間:

極客時間是一種新的知識交付模式。為了保持書單的利益無關中立性,就不放二維碼了,大家自個上 https://time.geekbang.org/

《左耳聽風》,左耳朵耗子把自己腦子裡的東西一股腦地倒了出來,唯一缺點是貴。

《從零開始學架構》,互聯網架構的基礎知識,用來培養新人或者自己查漏補缺。

一個忙碌架構師的Java後端書架-2018


一個忙碌架構師的Java後端書架-2018


拔草:有些書名字蠻吸引,但翻開目錄都是各種軟件的安裝和使用指南。

2. 國外互聯網架構的書

《SRE:Google運維解密》

自編廣告詞:“地球上有這麼一個團隊,將運維推向極限高度”。SRE的事情,很多是基礎架構部的事情。今年的續篇,《The Site Reliablity Workbook》。

一個忙碌架構師的Java後端書架-2018

一個忙碌架構師的Java後端書架-2018


《發佈!軟件的設計與部署 》

Nygard作品,關於高可靠性的軟件,學校裡不會教,出來社會卻要面對的那部分。 英文原標題裡,“軟件”的完整表達是“Production-Ready Software”

《DevOps 軟件架構師行動指南》

DevOps的書裡難得地講基本原則,而不是講具體用什麼監控軟件。

一個忙碌架構師的Java後端書架-2018

一個忙碌架構師的Java後端書架-2018


《微服務設計》

微服務開山之作,那麼多微服務的書,這本只談原則而不會寫一堆具體框架的使用。

《生產微服務》

再次被中文編輯的書名打敗,其實是《Production-Ready Microservices》,作者以在Uber的經驗,講一個滿足基本業務邏輯之外,生產可用的微服務的檢查表。

一個忙碌架構師的Java後端書架-2018

一個忙碌架構師的Java後端書架-2018


附加 :有兩本英文標題明明是Scalability的書,中文編輯硬是改為《架構即未來》,《架構真經》,前者有我們前CTO推薦不敢亂說,後者雖然是第二版還是覺得有點過時,大家自己看目錄判斷了。

3. 架構師基礎的書

《恰如其分的軟件架構 - 風險驅動的設計方法》

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

《軟件系統架構:使用視點和視角與利益相關者合作 第2版》

也是教科書,最難得的是,這本老書在十年後的2011年年升級了第二版,所以感覺鮮活了好多,也許是最鮮活的一本架構書。

一個忙碌架構師的Java後端書架-2018

一個忙碌架構師的Java後端書架-2018


附加:說起更新,《Software Architecture in Practice 3rd》也在2012年更新,《Documenting Software Architectures 2nd》在2010年更新,不過中規中矩,沒那麼大吸引力讓人去啃英文了。

拔草:關於設計模式,我以前曾經有過很多本,GOF23啦,企業應用架構模式啦,EIP啦, POSA 5卷本啦,反模式啦,JavaEE/SOA/Restful的模式啦。但現在覺得對新人來說,一本Java寫的《Head First 設計模式》,知道什麼叫設計模式就夠了。

UML相關的書,其實UML只在那個重度文檔的年代會體現統一的作用,現在大家都是怎麼表達清楚怎麼來,最多簡單用下類圖和時序圖了。

4. Java語言的書

《Java8 實戰》

Java8的新特性講得最全最仔細的,Java8是一道坎,很多程序員現在還沒邁過去。英文版有重寫了,面向JDK9的《Modern Java in Action》。

一個忙碌架構師的Java後端書架-2018

一個忙碌架構師的Java後端書架-2018


《Java性能權威指南》

紫色的這本,比起多年前那部調優聖經,講得更加深入,也更加貼近現在的JDK。英文版還有一本《Optimizing Java》。

一個忙碌架構師的Java後端書架-2018


一個忙碌架構師的Java後端書架-2018


《深入理解 Java 虛擬機 第2版》

理解虛擬機並不是那麼難,Java程序員來說,很多知識其實是必須的。

《Java併發編程實戰》

Java併發經典,人手一本不用多說了。

《實戰Java高併發程序設計》

國人之作,流暢易讀,內容也比上面一本新一些。

一個忙碌架構師的Java後端書架-2018


一個忙碌架構師的Java後端書架-2018


《Effective Java 2nd》

Java編碼規範與指南, 英文版有覆蓋JDK9的第三版。

私家推薦,結合了它和《Java編碼指南:編寫安全可靠程序的75條建議》、《阿里巴巴Java開發手冊》的《唯品會Java開發手冊》(https://vipshop.github.io/vjtools/)

一個忙碌架構師的Java後端書架-2018

一個忙碌架構師的Java後端書架-2018


極客時間:

《Java核心技術36講》是Oracle 做Java平臺部門的楊曉峰的專欄,Java裡很多關鍵點都講到了。

《深入拆解Java虛擬機》是Oracle裡做新一代Graal編譯器的高級研究員鄭雨迪對JVM的深入講解,能堅持看完的同學平時都可以裝一副很懂的樣子了。


一個忙碌架構師的Java後端書架-2018


一個忙碌架構師的Java後端書架-2018


補充: 培訓新人最好找《Java核心技術》。最新是第10版,但按JDK近來的升級速度,這書都快追不上了。

要一口吃成個胖子,推薦颯然的《Java工程師修煉之道》,可以作為老鳥培養新人,整個Java後端開發的提綱式材料。

《Java 9模塊化開發》,跳票無數回之後,Java9終於支持模塊化了,對這方面關心對可以看看。

《響應式編程 — RxJava 高階指南》,掘金小冊,連介紹裡的幾篇基礎文章,是響應式編程不錯的入門。 https://juejin.im/book/5a09997cf265da432002bf6a

拔草:《Thinking in Java》有點太舊了,而且作者思路隨意,譯者語言晦澀。《Java性能優化權威指南 》多年前的調優聖經已經舊的沒譜。

5. 操作系統與網絡的書

《Linux內核設計與實現 第3版》

業內縮寫LKD。Robert Love用最薄的篇幅,順暢的文字將Linux內核主要的算法講清楚了,《深入理解Linux內核》之類厚厚的全是代碼,不是專門的內核程序員看這本足夠了。

《性能之巔》

Brendan Gregg的書,火焰圖的推廣者,在Netflix專攻性能。 操作系統的性能調優、監控、工具和方法論,看這本就夠了,已經足夠厚,可能是書單裡最厚的一本,但值得作為一本枕頭書。

一個忙碌架構師的Java後端書架-2018

一個忙碌架構師的Java後端書架-2018


《WireShark網絡分析就這麼簡單》和 《WireShark網絡分析的藝術》

多少人,是看了這兩本輕鬆又實戰的書,才真正理解TCP的細節。

《深入理解計算機系統 第3版》

如果實在覺得家裡沒本書鎮樓心裡不踏實,就買這一本,也是左耳朵耗子力薦的一本。

一個忙碌架構師的Java後端書架-2018

一個忙碌架構師的Java後端書架-2018


極客時間:

很有現代感,互聯網站涉及的內容,那些經典教科書裡都沒有的。

一個忙碌架構師的Java後端書架-2018


附加:《現代操作系統 第3版》如果看LKD未盡興,可以回頭看看這本基礎概念,感覺沒《操作系統概念》(恐龍書)那麼枯燥。

《TCP/IP詳解 卷1:協議 第2版》 這麼多年過去了,TCP的書好像還是隻有英年早逝的作者的這一本。後人寫的第二版也出來,厚了很多。

拔草:《UNIX環境高級編程》和《UNIX網絡編程》,縮寫為APUE和UNP,不寫C的同學其實沒啥用。《Unix 編程藝術》,扯的都是閒篇,厚厚的一本略讀一下就行。

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

6. 算法的書

《數據結構與算法分析-Java語言描述 第3版》

夠薄,數據結構與算法分析的點基本都涵蓋了,而且示例代碼是Java寫的,新出了第3版。

《算法 第4版》

可與上一本對比著讀,厚一些,也多些圖,但知識點沒上面的全,也是Java的。

一個忙碌架構師的Java後端書架-2018


一個忙碌架構師的Java後端書架-2018


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

拔草:無比枯燥很多公式的《算法導論》,《計算機程序設計藝術》就留給特別厲害的同學去讀了。

7. 程序員的自我修養

《程序員修煉之道-從小工到專家》

Pragmatic Programmer--注重實效的程序員系列的開山之作。

《代碼整潔之道》和 《程序員的職業素養》

Robert.C Martin作品,英文名是很相近的《Clean Code》和 《Clean Coder》,應該接替《代碼大全2》成為必看系列,因為後者太厚了,而且也有不少過時的東西。

還有一本英文版的《Clean Architecture》,不過講的是單體應用自身的架構。

一個忙碌架構師的Java後端書架-2018

一個忙碌架構師的Java後端書架-2018


《有效的單元測試》

講代碼可讀性的書很多,專門教測試代碼怎麼寫得可讀的少,而事實上我們很多時間都在維護測試代碼,所以推薦下。

一個忙碌架構師的Java後端書架-2018


拔草:

《重構》很厚,但最有價值就是前面幾章的洗腦篇。

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

8. 團隊的書

敏捷的書高度重複,看哪本都差不多,比如最開始那本《解析極限編程--擁抱變化》就行,但沒得賣了。

其他如《硝煙中的Scrum 和 XP》,《學習敏捷》,《敏捷開發的藝術》都不錯。

一個忙碌架構師的Java後端書架-2018

一個忙碌架構師的Java後端書架-2018


阻止大家買書的原因,一是沒有地方放,二是沒有時間看。好在Kindle上的書漸漸多了,解決了第一個問題。但第二個問題更難,所以我也沒看完所有,但起碼翻到了可以下判斷的時候。

一個人看的書有限, 歡迎大家留言推薦其他好書。

作者: 江南白衣 from 春天的旁邊

Java後端開發,性能調優,唯品會基礎架構,微服務實踐的日常。


分享到:


相關文章: