在眾多語言中,java都以較大優勢領先其他語言,躋身最熱語言排名前列,學習java的人不計其數。除了學校和培訓機構,知識來源的最好途徑就是看書了。對于想要成為java程序員或者已經成為java程序員的人來說,最糾結的一件事可能就是想要看一些自學的java書籍但是選擇的范圍實在是太大了,不知從何讀起才能進階提升自己的技術,當然,經驗老道的程序員已經為我們整理出來一些適合自學的java書籍并按照由淺至深的順序進行推薦,一起來看看詳細的介紹吧:
一、入門基礎類
1、Head First Java 第2版·中文版
如果你沒有學過其他語言亦或是轉行到計算機行業,可以先看看《Head First Java》這本書,此書是根據學習理論所設計的,非常適合零基礎的小白, 讀起來輕松搞笑,讓你可以從程序語言的基礎開始一直學習到包括線程、網絡與分布式程序等項目。最重要的是,你將學會如何像個面向對象開發者一樣去思考。
本書的亮點在于不是讓你只是讀死書,你可以通過玩游戲、拼圖、解謎題以及一些意想不到的方式與Java交互。在這些活動中,你會寫出一堆真正的Java程序,包括了一個船艦炮戰游戲和一個網絡聊天程序。本書圖文并茂的學習方式能讓你快速地在腦海中掌握住java知識。

點此下載PDF版電子書
2、Head First 設計模式(中文版)
看完了《HeadFirst Java》,還推薦另一本HeadFirst系列的書《HeadFirst 設計模式》。簡單有趣、還能把關鍵的東西說明白,又不會被突然出現的一堆概念繞暈。入門書最關鍵的一點,是別把學習者嚇走!本書可以讓讀者快速掌握概念、培養興趣。《HeadFirst Java》作為一本設計模式的入門學習書籍,絕對沒錯。
3、java從入門到精通 第4版
本書從初學者角度出發,通過通俗易懂的語言、豐富多彩的實例,詳細介紹了使用Java語言進行程序開發需要掌握的知識。書中所有知識都結合具體實例進行介紹,涉及的程序代碼給出了詳細的注釋,可以使讀者輕松領會Java程序開發的精髓,快速提高開發技能。
本書內容詳盡,實例豐富,非常適合作為編程初學者的學習用書,也適合作為開發人員的查閱、參考資料。

點此下載PDF版電子書(第3版)
4、Java編程思想
在有了一定的Java編程經驗之后,你需要“知其所以然”了。這個時候《Java編程思想》是一本讓你知其所以然的好書,它對于基本的面向對象知識有比較清楚的交待,對Java基本語法,基本類庫有比較清楚的講解,可以幫你打一個良好的Java編程基礎。這本書的缺點是實在太厚,也比較羅嗦,不適合現代人快節奏學習,因此看這本書要懂得取舍,不是每章每節都值得一看的,挑重點的深入看就可以了。
5、Java 核心技術:卷1 基礎知識
口碑最好的官方機構Java教程,系統全面講解Java語言的核心概念、語法、重要特性和開發方法,內有大量程序實例,內容翔實、客觀準確,不拖泥帶水極具實用價值,你怎么也得有一本。這本書比較全面而且易懂,放在案旁用到的時候查一查,看一看,是Java初學者和Java程序員的必備參考書。
6、Java數據結構和算法 第2版
《Java數據結構和算法》以一種易懂的方式教授如何安排和操縱數據的問題,其中不乏一些難題:了解這些知識以期使計算機的應用獲得最好的表現。不管使用何種語言或平臺,掌握了數據結構和算法將改進程序的質量和性能。
這本書提供了一套獨創的可視討論專題用以闡明主要的論題:它使用Java語言說明重要的概念,而避免了C/C++語言的復雜性,以便集中精力論述數據結構和算法。經驗豐富的作者RorbertLafore先生提供了許多簡單明了的例子,避免了對于這類例題常見的冗長、繁鎖的數學證明。在每一章后都有問題和練習,使讀者有機會測試自己的理解程度。
這本書目前基本斷貨,足以說明搶手程度。作者主要使用Java語言描述了我們常用的數據結構,值得一看。
7、Java開發實戰經典
這本書中的代碼和案例較多,知識點也比較全面,在實際開發的過程中來講解一些基礎內容,對于新手而言很實用。
《Java開發實戰經典》是一本綜合講解Java核心技術的書籍,在書中使用大量的代碼及案例進行知識點的分析與運用,并且給出一些比較成熟的開發步驟,幫助讀者更好地進行Java的開發。本書真正地做到了讓每一位讀者都能清楚地知道每個知識點的來龍去脈,不僅可以很容易地看懂一個程序,而且能真正地靈活運用程序,編寫代碼,讓每一位讀者真正做到“輕松學Java、從零開始學Java”。
“注意”、“提示”、“問答”是《Java開發實戰經典(名師講壇)》的一大特色,通過這樣的方式,可以讓讀者進行更加全面的思考,這些特色中還包含了不少在Java面試中有可能遇到的問題,這讓每位讀者在打好基礎、鞏固技術之余,也能為面試提供強有力的支持。
二、中級進步類
1、Effective java 中文版 第2版
《Effective Java中文版》的作者是Joshua Bloch,這個人就很厲害了,他是谷歌的首席架構師,屬于超級技術大牛級別了吧,這本書的知名度 以及其作者的來頭來看(多提一句,這本書也是Java之父James Gosling博士推崇的一本書),這是一本值得一看的好書。
本書介紹了在Java編程中78條極具實用價值的經驗規則,揭示了應該做什么,不應該做什么才能產生清晰、健壯和高效的代碼,并通過例子代碼加以進一步說明,這些經驗規則涵蓋了大多數開發人員每天所面臨的問題的解決方案。
2、Java并發編程實戰
本書深入淺出地介紹了Java線程和并發,是一本完美的Java并發參考手冊。書中從并發性和線程安全性的基本概念出發,介紹了如何使用類庫提供的基本并發構建塊,用于避免并發危險、構造線程安全的類及驗證線程安全的規則,如何將小的線程安全類組合成更大的線程安全類,如何利用線程來提高并發應用程序的吞吐量,如何識別可并行執行的任務,如何提高單線程子系統的響應性,如何確保并發程序執行預期任務,如何提高并發代碼的性能和可伸縮性等內容,最后介紹了一些高級主題,如顯式鎖、原子變量、非阻塞算法以及如何開發自定義的同步工具類,非常適合Java程序開發人員閱讀。
3、編寫高質量代碼:改善Java程序的151個建議
國人原創作品。內容全部由Java編碼的最佳實踐組成,為Java程序員如何編寫高質量的Java代碼提出了151條極為寶貴的建議。對于每一個問題,不僅以建議的方式從正反兩面給出了被實踐證明為十分優秀的解決方案和非常糟糕的解決方案,而且還分析了問題產生的根源,猶如醍醐灌頂,讓人豁然開朗。
4、重構 改善既有代碼的設計
重構,一言以蔽之,就是在不改變外部行為的前提下,有條不紊地改善代碼。多年前,正是本書原版的出版,使重構終于從編程高手們的小圈子走出,成為眾多普通程序員日常開發工作中不可或缺的一部分。本書也因此成為與《設計模式》齊名的經典著作,被譯為中、德、俄、日等眾多語言,在世界范圍內暢銷不衰。
本書凝聚了軟件開發社區專家多年摸索而獲得的寶貴經驗,擁有不因時光流逝而磨滅的價值。今天,無論是重構本身,業界對重構的理解,還是開發工具對重構的支持力度,都與本書最初出版時不可同日而語,但書中所蘊涵的意味和精華,依然值得反復咀嚼,而且往往能夠常讀常新。
5、深入分析Java Web技術內幕
作者是2009年加入淘寶的許令波。全面、深入地闡述了Web前端、Java和Java服務端技術。
《深入分析Java Web技術內幕》圍繞JavaWeb相關技術從三方面全面深入地進行闡述。首先介紹前端知識,主要介紹JavaWeb開發中涉及的一些基本知識,包括Web請求過程、HTTP協議、DNS技術和CDN技術。其次深入介紹Java技術,包括I/O技術、中文編碼問題、Javac編譯原理、class文件結構解析、ClassLoader工作機制及JVM的內存管理等。最后介紹Java服務端技術,主要包括Servlet、Session與Cookie、Tomcat與Jetty服務器、Spring容器、Ibatis框架和Velocity框架等原理介紹。
6、大型網站系統與Java中間件實踐
作者是蘑菇街技術副總曾憲杰,曾長期負責淘寶主站。通過這本書可以了解大型網站架構變遷過程中的較為通用的問題和解法,并了解構建支撐大型網站的 Java 中間件的實踐經驗。
對于有一定網站開發、設計經驗,并想了解大型網站架構和支撐這種架構的系統的開發、測試等的相關工程人員,本書有很大的參考意義;對于沒有網站開發設計經驗的人員,通過本書也能宏觀了解大型網站的架構及相關問題的解決思路和方案。
三、高級深入類
1、深入理解Java虛擬機
非常難得的國人原創JVM實踐性圖書。“其中穿插的經驗、技巧、案例、實戰處處都可見作者的實踐之中積累的功力。”此書與Bill Venners的老書《深入Java虛擬機》很大程度上是互補的,可以參看。
第1版兩年內印刷近10次,4家網上書店的評論近4?000條,98%以上的評論全部為5星級的好評,是整個Java圖書領域公認的經典著作和超級暢銷書,繁體版在臺灣也十分受歡迎。第2版在第1版的基礎上做了很大的改進:根據最新的JDK 1.7對全書內容進行了全面的升級和補充;增加了大量處理各種常見JVM問題的技巧和最佳實踐;增加了若干與生產環境相結合的實戰案例;對第1版中的錯誤和不足之處的修正;等等。第2版不僅技術更新、內容更豐富,而且實戰性更強。
《深入理解Java虛擬機:JVM高級特性與最佳實踐(第2版)》共分為五大部分,圍繞內存管理、執行子系統、程序編譯與優化、高效并發等核心主題對JVM進行了全面而深入的分析,深刻揭示了JVM的工作原理。

點此下載PDF版電子書
2、企業應用架構模式
作者將40多種經常出現的解決方案轉化成模式,最終寫成這本能夠應用于任何一種企業應用平臺的、關于解決方案的、不可或缺的手冊。
《企業應用架構模式》獲得了2003年度美國軟件開發雜志圖書類的生產效率獎和讀者選擇獎。《企業應用架構模式》分為兩大部分。第一部分是關于如何開發企業應用的簡單介紹。第二部分是《企業應用架構模式》的主體,是關于模式的詳細參考手冊,每個模式都給出使用方法和實現信息,并配以詳細的Java代碼或C#代碼示例。此外,整《企業應用架構模式》中還用了大量UML圖來進一步闡明有關概念。
《企業應用架構模式》是為致力于設計和構建企業應用的軟件架構師、設計人員和編程人員而寫的,同時也可作為高等院校計算機專業及軟件學院相關課程的參考教材。
3、Java性能權威指南
Java性能方面的新書,可能也是最好的一本。不僅講述了對什么進行優化,如何優化,還闡述了大量然后編寫高效代碼的最佳實踐。雖然篇幅小一些,但比Oracle官方的那本內容博雜的《Java性能優化權威指南》其實更深入。
市面上介紹Java的書有很多,但專注于Java性能的并不多,能游刃有余地展示Java性能優化難點的更是鳳毛麟角,本書即是其中之一。通過使用JVM和Java平臺,以及Java語言和應用程序接口,本書詳盡講解了Java性能調優的相關知識,幫助讀者深入理解Java平臺性能的各個方面,最終使程序如虎添翼。