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

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

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

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