1. 程式人生 > >Java工程師核心書單推薦

Java工程師核心書單推薦

隨便開啟一個招聘網站,看看對`高階`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語言版的,程式碼實現也不是很多,所以看起來可能比較吃力。 還有另外一本《演算法導論》,不多說了