1、基礎類java
一、《Thinking in Java》,入門第一位是創建正確的概念。程序員
二、《Core Java》,我沒系統讀過,這本書更貼近實踐,更多API的介紹,一樣,更新也更頻繁。算法
2、進階類編程
一、《Effective Java》,在熟悉語法、API以後,你須要知道最佳實踐和陷阱,沒有比這本更好的。設計模式
二、《Java Puzzlers》,經過謎題介紹一些你可能沒有注意到的邊角料,做爲趣味讀物也不錯網絡
三、《深刻Java虛擬機》,翻譯通常,但不可不讀,最好結合最新的JVM規範來讀。架構
3、特定領域併發
一、網絡編程:socket
(1) O’Reilly的《Java nio》,不少人都推薦,我我的覺的通常,基本上只是個API更詳細的說明文檔,O’reilly的java系列不少都是這樣。單元測試
(2)推薦這本《Fundamental networking in java》,由淺入深教你怎麼作java網絡編程,而且介紹不少背景知識,
甚至介紹了各類最佳實踐、網絡編程模型以及Java socket在不一樣平臺之間的差別等等。
二、併發編程:
(1)《Java Concurrency in Practic》,併發領域必讀經典。
(2)《Java併發編程:設計原則與模式》,一樣是Doug lea的做品。
(3) 《java threads》,入門讀物。
三、、模式與設計
一、《設計模式》,GOF的經典。
二、《設計模式精解》,應該有最新版,我的認爲更適合入門。
三、《Head first設計模式》,更輕鬆的入門讀物。
四、《企業應用架構模式》
五、《分析模式——可複用對象模型》
六、《面向模式的軟件體系結構》,國內貌似翻譯了3卷,絕對經典,惋惜翻譯較差。
七、《重構——改善既有代碼設計》,想寫好代碼必讀。
八、《重構與模式》
四、方法論
一、《敏捷軟件開發》
二、《測試驅動開發》,你不必定要TDD,可是你必定要學會作單元測試。
三、《Agile Java》,也能夠做爲java入門讀物。
四、《快速軟件開發》
五、《面向對象分析與設計》,OO設計必讀。
六、《Unix編程藝術》,打開你的眼界。
五、Java以外
一、《unix網絡編程》,學習網絡編程必讀書。
二、《C++網絡編程》上下兩卷,介紹ACE的,可是其中對各類模式運用的介紹很是值的一讀。
三、《Joel說軟件》,編程文化
四、《人月神話》、《人件》
五、《卓有成效的程序員》,給我很大啓發的一本書。
六、《程序員修煉之道》
七、《計算機程序的構造與解釋》,必讀
八、《算法導論》,能夠做爲參考書
九、《深刻理解計算機系統》
十、《編譯原理》龍書,最新版用java解釋。