在眾多語(yǔ)言中,java都以較大優(yōu)勢(shì)領(lǐng)先其他語(yǔ)言,躋身最熱語(yǔ)言排名前列,學(xué)習(xí)java的人不計(jì)其數(shù)。除了學(xué)校和培訓(xùn)機(jī)構(gòu),知識(shí)來(lái)源的最好途徑就是看書(shū)了。對(duì)于想要成為java程序員或者已經(jīng)成為java程序員的人來(lái)說(shuō),最糾結(jié)的一件事可能就是想要看一些自學(xué)的java書(shū)籍但是選擇的范圍實(shí)在是太大了,不知從何讀起才能進(jìn)階提升自己的技術(shù),當(dāng)然,經(jīng)驗(yàn)老道的程序員已經(jīng)為我們整理出來(lái)一些適合自學(xué)的java書(shū)籍并按照由淺至深的順序進(jìn)行推薦,一起來(lái)看看詳細(xì)的介紹吧:
一、入門(mén)基礎(chǔ)類(lèi)
1、Head First Java 第2版·中文版
如果你沒(méi)有學(xué)過(guò)其他語(yǔ)言亦或是轉(zhuǎn)行到計(jì)算機(jī)行業(yè),可以先看看《Head First Java》這本書(shū),此書(shū)是根據(jù)學(xué)習(xí)理論所設(shè)計(jì)的,非常適合零基礎(chǔ)的小白, 讀起來(lái)輕松搞笑,讓你可以從程序語(yǔ)言的基礎(chǔ)開(kāi)始一直學(xué)習(xí)到包括線程、網(wǎng)絡(luò)與分布式程序等項(xiàng)目。最重要的是,你將學(xué)會(huì)如何像個(gè)面向?qū)ο箝_(kāi)發(fā)者一樣去思考。
本書(shū)的亮點(diǎn)在于不是讓你只是讀死書(shū),你可以通過(guò)玩游戲、拼圖、解謎題以及一些意想不到的方式與Java交互。在這些活動(dòng)中,你會(huì)寫(xiě)出一堆真正的Java程序,包括了一個(gè)船艦炮戰(zhàn)游戲和一個(gè)網(wǎng)絡(luò)聊天程序。本書(shū)圖文并茂的學(xué)習(xí)方式能讓你快速地在腦海中掌握住java知識(shí)。
點(diǎn)此下載PDF版電子書(shū)
2、Head First 設(shè)計(jì)模式(中文版)
看完了《HeadFirst Java》,還推薦另一本HeadFirst系列的書(shū)《HeadFirst 設(shè)計(jì)模式》。簡(jiǎn)單有趣、還能把關(guān)鍵的東西說(shuō)明白,又不會(huì)被突然出現(xiàn)的一堆概念繞暈。入門(mén)書(shū)最關(guān)鍵的一點(diǎn),是別把學(xué)習(xí)者嚇走!本書(shū)可以讓讀者快速掌握概念、培養(yǎng)興趣。《HeadFirst Java》作為一本設(shè)計(jì)模式的入門(mén)學(xué)習(xí)書(shū)籍,絕對(duì)沒(méi)錯(cuò)。
3、java從入門(mén)到精通 第4版
本書(shū)從初學(xué)者角度出發(fā),通過(guò)通俗易懂的語(yǔ)言、豐富多彩的實(shí)例,詳細(xì)介紹了使用Java語(yǔ)言進(jìn)行程序開(kāi)發(fā)需要掌握的知識(shí)。書(shū)中所有知識(shí)都結(jié)合具體實(shí)例進(jìn)行介紹,涉及的程序代碼給出了詳細(xì)的注釋?zhuān)梢允棺x者輕松領(lǐng)會(huì)Java程序開(kāi)發(fā)的精髓,快速提高開(kāi)發(fā)技能。
本書(shū)內(nèi)容詳盡,實(shí)例豐富,非常適合作為編程初學(xué)者的學(xué)習(xí)用書(shū),也適合作為開(kāi)發(fā)人員的查閱、參考資料。
點(diǎn)此下載PDF版電子書(shū)(第3版)
4、Java編程思想
在有了一定的Java編程經(jīng)驗(yàn)之后,你需要“知其所以然”了。這個(gè)時(shí)候《Java編程思想》是一本讓你知其所以然的好書(shū),它對(duì)于基本的面向?qū)ο笾R(shí)有比較清楚的交待,對(duì)Java基本語(yǔ)法,基本類(lèi)庫(kù)有比較清楚的講解,可以幫你打一個(gè)良好的Java編程基礎(chǔ)。這本書(shū)的缺點(diǎn)是實(shí)在太厚,也比較羅嗦,不適合現(xiàn)代人快節(jié)奏學(xué)習(xí),因此看這本書(shū)要懂得取舍,不是每章每節(jié)都值得一看的,挑重點(diǎn)的深入看就可以了。
提取碼:java
5、Java 核心技術(shù):卷1 基礎(chǔ)知識(shí)
口碑最好的官方機(jī)構(gòu)Java教程,系統(tǒng)全面講解Java語(yǔ)言的核心概念、語(yǔ)法、重要特性和開(kāi)發(fā)方法,內(nèi)有大量程序?qū)嵗?/span>內(nèi)容翔實(shí)、客觀準(zhǔn)確,不拖泥帶水極具實(shí)用價(jià)值,你怎么也得有一本。這本書(shū)比較全面而且易懂,放在案旁用到的時(shí)候查一查,看一看,是Java初學(xué)者和Java程序員的必備參考書(shū)。
點(diǎn)此下載PDF版電子書(shū)
密碼:jv8t
6、Java數(shù)據(jù)結(jié)構(gòu)和算法 第2版
《Java數(shù)據(jù)結(jié)構(gòu)和算法》以一種易懂的方式教授如何安排和操縱數(shù)據(jù)的問(wèn)題,其中不乏一些難題:了解這些知識(shí)以期使計(jì)算機(jī)的應(yīng)用獲得最好的表現(xiàn)。不管使用何種語(yǔ)言或平臺(tái),掌握了數(shù)據(jù)結(jié)構(gòu)和算法將改進(jìn)程序的質(zhì)量和性能。
這本書(shū)提供了一套獨(dú)創(chuàng)的可視討論專(zhuān)題用以闡明主要的論題:它使用Java語(yǔ)言說(shuō)明重要的概念,而避免了C/C++語(yǔ)言的復(fù)雜性,以便集中精力論述數(shù)據(jù)結(jié)構(gòu)和算法。經(jīng)驗(yàn)豐富的作者RorbertLafore先生提供了許多簡(jiǎn)單明了的例子,避免了對(duì)于這類(lèi)例題常見(jiàn)的冗長(zhǎng)、繁鎖的數(shù)學(xué)證明。在每一章后都有問(wèn)題和練習(xí),使讀者有機(jī)會(huì)測(cè)試自己的理解程度。
這本書(shū)目前基本斷貨,足以說(shuō)明搶手程度。作者主要使用Java語(yǔ)言描述了我們常用的數(shù)據(jù)結(jié)構(gòu),值得一看。
提取碼:71xr
7、Java開(kāi)發(fā)實(shí)戰(zhàn)經(jīng)典
這本書(shū)中的代碼和案例較多,知識(shí)點(diǎn)也比較全面,在實(shí)際開(kāi)發(fā)的過(guò)程中來(lái)講解一些基礎(chǔ)內(nèi)容,對(duì)于新手而言很實(shí)用。
《Java開(kāi)發(fā)實(shí)戰(zhàn)經(jīng)典》是一本綜合講解Java核心技術(shù)的書(shū)籍,在書(shū)中使用大量的代碼及案例進(jìn)行知識(shí)點(diǎn)的分析與運(yùn)用,并且給出一些比較成熟的開(kāi)發(fā)步驟,幫助讀者更好地進(jìn)行Java的開(kāi)發(fā)。本書(shū)真正地做到了讓每一位讀者都能清楚地知道每個(gè)知識(shí)點(diǎn)的來(lái)龍去脈,不僅可以很容易地看懂一個(gè)程序,而且能真正地靈活運(yùn)用程序,編寫(xiě)代碼,讓每一位讀者真正做到“輕松學(xué)Java、從零開(kāi)始學(xué)Java”。
“注意”、“提示”、“問(wèn)答”是《Java開(kāi)發(fā)實(shí)戰(zhàn)經(jīng)典(名師講壇)》的一大特色,通過(guò)這樣的方式,可以讓讀者進(jìn)行更加全面的思考,這些特色中還包含了不少在Java面試中有可能遇到的問(wèn)題,這讓每位讀者在打好基礎(chǔ)、鞏固技術(shù)之余,也能為面試提供強(qiáng)有力的支持。
二、中級(jí)進(jìn)階類(lèi)
1. Java并發(fā)編程實(shí)戰(zhàn)
本書(shū)深入淺出地介紹了Java線程和并發(fā),是一本完美的Java并發(fā)參考手冊(cè)。書(shū)中從并發(fā)性和線程安全性的基本概念出發(fā),介紹了如何使用類(lèi)庫(kù)提供的基本并發(fā)構(gòu)建塊,用于避免并發(fā)危險(xiǎn)、構(gòu)造線程安全的類(lèi)及驗(yàn)證線程安全的規(guī)則,如何將小的線程安全類(lèi)組合成更大的線程安全類(lèi),如何利用線程來(lái)提高并發(fā)應(yīng)用程序的吞吐量,如何識(shí)別可并行執(zhí)行的任務(wù),如何提高單線程子系統(tǒng)的響應(yīng)性,如何確保并發(fā)程序執(zhí)行預(yù)期任務(wù),如何提高并發(fā)代碼的性能和可伸縮性等內(nèi)容,最后介紹了一些高級(jí)主題,如顯式鎖、原子變量、非阻塞算法以及如何開(kāi)發(fā)自定義的同步工具類(lèi),非常適合Java程序開(kāi)發(fā)人員閱讀。
2. 編寫(xiě)高質(zhì)量代碼:改善Java程序的151個(gè)建議
國(guó)人原創(chuàng)作品。內(nèi)容全部由Java編碼的最佳實(shí)踐組成,為Java程序員如何編寫(xiě)高質(zhì)量的Java代碼提出了151條極為寶貴的建議。對(duì)于每一個(gè)問(wèn)題,不僅以建議的方式從正反兩面給出了被實(shí)踐證明為十分優(yōu)秀的解決方案和非常糟糕的解決方案,而且還分析了問(wèn)題產(chǎn)生的根源,猶如醍醐灌頂,讓人豁然開(kāi)朗。
提取碼:java
3. 重構(gòu) 改善既有代碼的設(shè)計(jì)
重構(gòu),一言以蔽之,就是在不改變外部行為的前提下,有條不紊地改善代碼。多年前,正是本書(shū)原版的出版,使重構(gòu)終于從編程高手們的小圈子走出,成為眾多普通程序員日常開(kāi)發(fā)工作中不可或缺的一部分。本書(shū)也因此成為與《設(shè)計(jì)模式》齊名的經(jīng)典著作,被譯為中、德、俄、日等眾多語(yǔ)言,在世界范圍內(nèi)暢銷(xiāo)不衰。
本書(shū)凝聚了軟件開(kāi)發(fā)社區(qū)專(zhuān)家多年摸索而獲得的寶貴經(jīng)驗(yàn),擁有不因時(shí)光流逝而磨滅的價(jià)值。今天,無(wú)論是重構(gòu)本身,業(yè)界對(duì)重構(gòu)的理解,還是開(kāi)發(fā)工具對(duì)重構(gòu)的支持力度,都與本書(shū)最初出版時(shí)不可同日而語(yǔ),但書(shū)中所蘊(yùn)涵的意味和精華,依然值得反復(fù)咀嚼,而且往往能夠常讀常新。
4. 深入分析Java Web技術(shù)內(nèi)幕
作者是2009年加入淘寶的許令波。全面、深入地闡述了Web前端、Java和Java服務(wù)端技術(shù)。
《深入分析Java Web技術(shù)內(nèi)幕》圍繞JavaWeb相關(guān)技術(shù)從三方面全面深入地進(jìn)行闡述。首先介紹前端知識(shí),主要介紹JavaWeb開(kāi)發(fā)中涉及的一些基本知識(shí),包括Web請(qǐng)求過(guò)程、HTTP協(xié)議、DNS技術(shù)和CDN技術(shù)。其次深入介紹Java技術(shù),包括I/O技術(shù)、中文編碼問(wèn)題、Javac編譯原理、class文件結(jié)構(gòu)解析、ClassLoader工作機(jī)制及JVM的內(nèi)存管理等。最后介紹Java服務(wù)端技術(shù),主要包括Servlet、Session與Cookie、Tomcat與Jetty服務(wù)器、Spring容器、Ibatis框架和Velocity框架等原理介紹。
5. 大型網(wǎng)站系統(tǒng)與Java中間件實(shí)踐
作者是蘑菇街技術(shù)副總曾憲杰,曾長(zhǎng)期負(fù)責(zé)淘寶主站。通過(guò)這本書(shū)可以了解大型網(wǎng)站架構(gòu)變遷過(guò)程中的較為通用的問(wèn)題和解法,并了解構(gòu)建支撐大型網(wǎng)站的 Java 中間件的實(shí)踐經(jīng)驗(yàn)。
對(duì)于有一定網(wǎng)站開(kāi)發(fā)、設(shè)計(jì)經(jīng)驗(yàn),并想了解大型網(wǎng)站架構(gòu)和支撐這種架構(gòu)的系統(tǒng)的開(kāi)發(fā)、測(cè)試等的相關(guān)工程人員,本書(shū)有很大的參考意義;對(duì)于沒(méi)有網(wǎng)站開(kāi)發(fā)設(shè)計(jì)經(jīng)驗(yàn)的人員,通過(guò)本書(shū)也能宏觀了解大型網(wǎng)站的架構(gòu)及相關(guān)問(wèn)題的解決思路和方案。
三、高級(jí)深入類(lèi)
1、深入理解Java虛擬機(jī)
非常難得的國(guó)人原創(chuàng)JVM實(shí)踐性圖書(shū)。“其中穿插的經(jīng)驗(yàn)、技巧、案例、實(shí)戰(zhàn)處處都可見(jiàn)作者的實(shí)踐之中積累的功力?!贝藭?shū)與Bill Venners的老書(shū)《深入Java虛擬機(jī)》很大程度上是互補(bǔ)的,可以參看。
第1版兩年內(nèi)印刷近10次,4家網(wǎng)上書(shū)店的評(píng)論近4?000條,98%以上的評(píng)論全部為5星級(jí)的好評(píng),是整個(gè)Java圖書(shū)領(lǐng)域公認(rèn)的經(jīng)典著作和超級(jí)暢銷(xiāo)書(shū),繁體版在臺(tái)灣也十分受歡迎。第2版在第1版的基礎(chǔ)上做了很大的改進(jìn):根據(jù)最新的JDK 1.7對(duì)全書(shū)內(nèi)容進(jìn)行了全面的升級(jí)和補(bǔ)充;增加了大量處理各種常見(jiàn)JVM問(wèn)題的技巧和最佳實(shí)踐;增加了若干與生產(chǎn)環(huán)境相結(jié)合的實(shí)戰(zhàn)案例;對(duì)第1版中的錯(cuò)誤和不足之處的修正;等等。第2版不僅技術(shù)更新、內(nèi)容更豐富,而且實(shí)戰(zhàn)性更強(qiáng)。
《深入理解Java虛擬機(jī):JVM高級(jí)特性與最佳實(shí)踐(第2版)》共分為五大部分,圍繞內(nèi)存管理、執(zhí)行子系統(tǒng)、程序編譯與優(yōu)化、高效并發(fā)等核心主題對(duì)JVM進(jìn)行了全面而深入的分析,深刻揭示了JVM的工作原理。
點(diǎn)此下載PDF版電子書(shū)
密碼:hgxm
2、企業(yè)應(yīng)用架構(gòu)模式
作者將40多種經(jīng)常出現(xiàn)的解決方案轉(zhuǎn)化成模式,最終寫(xiě)成這本能夠應(yīng)用于任何一種企業(yè)應(yīng)用平臺(tái)的、關(guān)于解決方案的、不可或缺的手冊(cè)。
《企業(yè)應(yīng)用架構(gòu)模式》獲得了2003年度美國(guó)軟件開(kāi)發(fā)雜志圖書(shū)類(lèi)的生產(chǎn)效率獎(jiǎng)和讀者選擇獎(jiǎng)?!镀髽I(yè)應(yīng)用架構(gòu)模式》分為兩大部分。第一部分是關(guān)于如何開(kāi)發(fā)企業(yè)應(yīng)用的簡(jiǎn)單介紹。第二部分是《企業(yè)應(yīng)用架構(gòu)模式》的主體,是關(guān)于模式的詳細(xì)參考手冊(cè),每個(gè)模式都給出使用方法和實(shí)現(xiàn)信息,并配以詳細(xì)的Java代碼或C#代碼示例。此外,整《企業(yè)應(yīng)用架構(gòu)模式》中還用了大量UML圖來(lái)進(jìn)一步闡明有關(guān)概念。
《企業(yè)應(yīng)用架構(gòu)模式》是為致力于設(shè)計(jì)和構(gòu)建企業(yè)應(yīng)用的軟件架構(gòu)師、設(shè)計(jì)人員和編程人員而寫(xiě)的,同時(shí)也可作為高等院校計(jì)算機(jī)專(zhuān)業(yè)及軟件學(xué)院相關(guān)課程的參考教材。
提取碼:java
3、Java性能權(quán)威指南
Java性能方面的新書(shū),可能也是最好的一本。不僅講述了對(duì)什么進(jìn)行優(yōu)化,如何優(yōu)化,還闡述了大量然后編寫(xiě)高效代碼的最佳實(shí)踐。雖然篇幅小一些,但比Oracle官方的那本內(nèi)容博雜的《Java性能優(yōu)化權(quán)威指南》其實(shí)更深入。
市面上介紹Java的書(shū)有很多,但專(zhuān)注于Java性能的并不多,能游刃有余地展示Java性能優(yōu)化難點(diǎn)的更是鳳毛麟角,本書(shū)即是其中之一。通過(guò)使用JVM和Java平臺(tái),以及Java語(yǔ)言和應(yīng)用程序接口,本書(shū)詳盡講解了Java性能調(diào)優(yōu)的相關(guān)知識(shí),幫助讀者深入理解Java平臺(tái)性能的各個(gè)方面,最終使程序如虎添翼。
點(diǎn)此下載PDF版電子書(shū)
密碼:urpm
更多建議: