Java工程師核心書單推薦
阿新 • • 發佈:2021-03-14
隨便開啟一個招聘網站,看看對`高階`Java工程師的技能要求。
![image-20210312224908529](https://gitee.com/sanfene/picgo/raw/master/20210312224909.png)
拋開其它的經驗能力等等,單純從技術,或者說知識上來講,可以發現一些共通的地方。
- Java基礎
- 計算機基礎
- 資料庫,SQL/NoSQL
- 常用開源框架
- 分散式/微服務
- 中介軟體,快取、訊息中介軟體
書籍是獲取知識的最好來源之一。技術書籍浩如煙海,市場上有不少《XXX入門到精通》,《XXX王者歸來》,《21天學會XXX》這樣的書,當然也有不少經典,個人的精力有限,這些經典不可能都通讀。所以·,博主嘗試整理一個Java工程師所需知識的核心書單,儘可能優中選優,挑選出Java工程師必備知識的一些最核心、最經典的書籍,希望能一起學習,一起進步。
![Java工程師核心書單](https://gitee.com/sanfene/picgo/raw/master/20210314010939.png)
# Java基礎
- **《Java核心技術》**
不用多說,Java領域最有影響力和價值的著作之一。
- **《Java程式設計思想》**
這個也不用多介紹了吧,永恆的經典。
![image-20210312230527362](https://gitee.com/sanfene/picgo/raw/master/20210312230528.png)
上面兩部經典,白璧微瑕的大概就是翻譯了,技術譯著難免會有些詞不達意的地方,英語閱讀能力過關的話可以看英文原作。國內的《瘋狂Java講義》也尚可。
# Java進階
## 併發
- **《Java併發程式設計的藝術》**
博主覺得不錯,但豆瓣評分沒有想象的高,可能是三人合作,導致內容有些不連貫。國內作者寫的Java併發書籍,比較簡單易懂,廣為流傳的Java執行緒狀態變化圖就出自本書。
![image-20210312231235842](https://gitee.com/sanfene/picgo/raw/master/20210312231237.png)
還有一本《Java併發程式設計實戰》,Java併發工具包主要作者之一的著作,但是翻譯的鍋,能看原版的建議看原版。
JUC相關最好的資料還是看原始碼,Doug Lea把他的One Peace都藏在了那裡。
## JVM
- **《深入理解Java虛擬機器》**
JVM,這一本就夠了。有個博主寫過:”你看到一篇JVM的文章,如果文章的最後沒有寫參考這本書,那一定是作者的版權意識不夠。“
![image-20210312232210708](https://gitee.com/sanfene/picgo/raw/master/20210312232212.png)
## 程式優化
- **《**Effective Java》
和《Java程式設計思想》一樣被稱為神書,介紹瞭如何寫健壯,高效的程式碼,當然閱讀需要有一定的開發經驗。
![image-20210312232551147](https://gitee.com/sanfene/picgo/raw/master/20210312232552.png)
# 框架
## Spirng
- **《Spring實戰》**
Spring入門經典書籍。
![image-20210312233144920](https://gitee.com/sanfene/picgo/raw/master/20210312233146.png)
- **《Spring揭祕》**
書比較老,但是概念和原理很清晰,看完之後,再看Spring5的原始碼也很不錯。
![image-20210313233353617](https://gitee.com/sanfene/picgo/raw/master/20210313233355.png)
## SpringBoot
- **《深入淺出Spring Boot 2.x》**
博主看過不少SpringBoot的書籍,個人感覺這本還不錯,比較詳細、全面。
![image-20210312234333809](https://gitee.com/sanfene/picgo/raw/master/20210312234335.png)
## MyBatis
MyBatis官方文件已經做得足夠好了,基本的使用檢視官網就夠了。
- **《MyBatis技術內幕》**
MyBatis原始碼解析的書不多,推薦這本,結合原始碼閱讀更佳。
![image-20210312234955597](https://gitee.com/sanfene/picgo/raw/master/20210312234956.png)
# 計算機基礎
## 資料結構與演算法
四大基礎課中對Java工程師最重要的應該是《資料結構》,資料結構和演算法一般不分家,所以放在一起。
- **《資料結構與演算法分析》**
國外資料結構與演算法分析方面的經典教材,內容全面、縝密嚴格。
![image-20210313234343375](https://gitee.com/sanfene/picgo/raw/master/20210313234344.png)
其實想推薦一本教材——嚴蔚敏老師的《資料結構》,但是這本書是C語言版的,程式碼實現也不是很多,所以看起來可能比較吃力。
還有另外一本《演算法導論》,不多說了