计算机科班Java开发好书推荐
一,按內(nèi)容分為五類
Java基礎(chǔ)
并發(fā)(多線程)
數(shù)據(jù)庫
網(wǎng)絡(luò)
算法
設(shè)計(jì)模式
二,詳細(xì)介紹每一類
這些書全部都是我看過的,大部分都至少讀了一遍到兩遍,且還整理了筆記,少部分是挑的重點(diǎn)章節(jié)看的。
2.1 Java基礎(chǔ)
《Java核心技術(shù)(上冊)》:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
此書是翻譯自國外的書,因此內(nèi)容上面讀起來,講的不是很通俗易懂,而且大多是停留在表面,翻譯的內(nèi)容偶爾翻譯不恰當(dāng)?shù)牡胤?#xff0c;但整體來說,也可以作為一本入門加語法學(xué)習(xí)的書籍。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
讀完之后,對(duì)一些重要概念語法,會(huì)有一定的初步認(rèn)識(shí)。此書我讀了兩遍,并整理了筆記。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
《瘋狂Java講義》:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
當(dāng)初聽同學(xué)推薦,因?yàn)樗麕熜终夜ぷ髡业耐?#xff0c;且推薦給他的這本書,因此我就買了一本。此書巨厚無比,我當(dāng)初已有java基礎(chǔ),遂此書沒有按部就班的看完,只是針對(duì)理解的不夠的地方,重點(diǎn)研究,加深理解。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
此書不僅涵蓋java基礎(chǔ),還涉及數(shù)據(jù)庫api的講解,所以內(nèi)容很多,且語言生動(dòng)靈活,讀起來通俗易懂,比之上一本《Java核心技術(shù)》要好上不少,畢竟是國人所寫,而且也是業(yè)內(nèi)人士。讀起來會(huì)很暢快,遇到豁然開朗之處,忍不住會(huì)贊嘆作者。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
《EffectiveJava中文版》?:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
此書里面列舉了很多條Java開發(fā)中需要注意的原則。比方說hashCode和equals()的書寫原則,這條當(dāng)初印象賊深,因?yàn)槲议_發(fā)中見到過類似代碼,不明白為什么那樣寫,正好當(dāng)時(shí)業(yè)余時(shí)間,在看此書,讀到這一部分,特別驚喜開心。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
《深入理解JVM(第二版)》:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
此書是我實(shí)驗(yàn)室?guī)熜滞扑]。師兄找的工作也挺好,所以我們這一屆人手一本,早早地開始研讀。甚至到最后找工作的時(shí)候發(fā)現(xiàn),我們最熟悉、掌握的最好的方面居然成了JVM了。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
此書作為理解JVM運(yùn)行原理、數(shù)據(jù)區(qū)劃分、垃圾回收、類加載機(jī)制等方面是一本必須精讀的好書。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
《Java編程的邏輯》:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
此書是同學(xué)推薦,理解jdk源碼中基礎(chǔ)數(shù)據(jù)結(jié)構(gòu)原理的好書,作者是博士學(xué)歷,而且也是資深工程師。牛人不僅自己牛,還把自己的知識(shí)、經(jīng)驗(yàn)、理解分享出來,真的是希望這樣的大牛越多越好。因?yàn)槲覍?duì)jdk源碼有一定的理解,所以此書我沒有讀完,只是針對(duì)我不熟悉,理解的不深的地方著重細(xì)讀,并對(duì)照jdk源碼加以研究。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
而且作者思路清晰,文字言簡意賅,講解直達(dá)要害,讀起來不時(shí)會(huì)有茅塞頓開之感。書里不僅含有jdk中源碼的邏輯,還在開始處,講解了一些入門級(jí)的知識(shí),比方說數(shù)在計(jì)算機(jī)中是怎么存儲(chǔ)的,二進(jìn)制的換算等等知識(shí),對(duì)入門級(jí)的人,特別友好。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
《實(shí)戰(zhàn)Java虛擬機(jī)JVM故障診斷與性能調(diào)優(yōu)》:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
此書我只是初步看了大概,對(duì)JVM里的一些故障診斷,性能調(diào)優(yōu)的工具有了初步的認(rèn)識(shí)和使用,后序還需看書實(shí)際操作,才能加深對(duì)JVM調(diào)優(yōu)的理解和實(shí)踐。
2.2 并發(fā)(多線程)
《Java多線程編程實(shí)戰(zhàn)指南(核心篇)》:此書非常詳細(xì)透徹的講解了,Java多線程編程當(dāng)中,很多非常重要的概念,以及內(nèi)jvm內(nèi)部的原理機(jī)制。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
對(duì)我建立一個(gè)初步的對(duì)Java多線程的一個(gè)整體的知識(shí)架構(gòu),很有幫助。而且有了很好的理論支撐以后,再進(jìn)行開發(fā)的話,會(huì)起到很好的指導(dǎo)作用,不僅知其然,還知其所以然。好書,精讀重點(diǎn)章節(jié)一遍,并整 理筆記。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
《Java并發(fā)編程的藝術(shù)》:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
此書比之上一本要次之,但也可作為入門書籍。書中對(duì)并發(fā)中的一些基礎(chǔ)概念有一定的講解,還有一些工具的用法,原理的話也有涉及,但涉及的不深。對(duì)于建立起并發(fā)初步的知識(shí)體系有幫助,但要想理解的更深一些,還是要精讀上本“核心篇”。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
《并發(fā)編程實(shí)戰(zhàn)》:此書是jdk中并發(fā)包的作者Doug Lea前輩老爺爺寫的書,質(zhì)量肯定是杠杠的。但是我是聽同學(xué)書,此書對(duì)初學(xué)者不是很友好,畢竟是翻譯過來的書。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
跟“核心篇”讀起來,還是不一樣的,但是此書也要強(qiáng)烈推薦,當(dāng)讀完了上面二本,再讀此書。
2.3 數(shù)據(jù)庫
《MySql必知必會(huì)》:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
此書介紹了MySql數(shù)據(jù)庫的入門知識(shí),并對(duì)sql語句的編寫進(jìn)行了較為全面的講解。此書是一本小薄本書籍,如果之前有接觸過sql語句,再讀此書,會(huì)讀的很快。再多寫一些sql語句練練手,sql語句就輕松掌握了。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
《高性能MySql》:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
此書也是巨厚無比,這本書我還沒有啃完,只把幾章重要的章節(jié),精讀了。翻譯過來的書,總是讀著有點(diǎn)別扭,不過邊讀此書,遇到不懂得搜搜博客,還是可以讀下去的。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
《MySql技術(shù)內(nèi)幕InnoDB存儲(chǔ)引擎》:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
這本書就是國人寫的書,讀起來就舒服多了,透徹的講解,如沐春風(fēng)的感覺。讀書就要讀好書,講的明白的書,就是好書。此書我一遍還未看完,后面會(huì)收拾它的。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
《Redis設(shè)計(jì)與實(shí)現(xiàn)》:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
此書是NoSql數(shù)據(jù)庫里講解Redis原理的好書,作者有對(duì)Redis數(shù)據(jù)庫源碼級(jí)別的分析,因此講解的相對(duì)透徹,復(fù)雜的實(shí)現(xiàn)代碼,用偽代碼實(shí)現(xiàn),便于讀者對(duì)于設(shè)計(jì)原理的理解。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
國慶節(jié)期間此書我已經(jīng)讀了一半,雖然有的地方,暫時(shí)讀不懂,但是么事,繼續(xù)讀就是了,讀懂為止。
2.4 網(wǎng)絡(luò)
《計(jì)算機(jī)網(wǎng)絡(luò)》-謝希仁:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
此書是計(jì)算機(jī)專業(yè)的教材,現(xiàn)在都已經(jīng)到了第7版了,選書的一個(gè)原則就是,要選那些版次很多的書,因?yàn)榘娲螘?#xff0c;說明此書作者,一再的精進(jìn)此書,而且側(cè)面也說明了此書賣的相對(duì)較好,不然不會(huì)再版這么多次的。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
《圖解HTTP》:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
此書也是翻譯過來的,但是講解的還算通俗易懂,只是講解的相對(duì)不深,但對(duì)于HTTP協(xié)議建立起一個(gè)宏觀的知識(shí)框架,和相對(duì)的技術(shù)細(xì)節(jié),還是可以的。起碼一些重要概念和技術(shù)細(xì)節(jié)是有了初步的了解掌握了。據(jù)說大牛都去看《TCP/IP詳解》去了,我還沒看過。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
《深入分析JavaWeb》:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
此書是阿里大牛寫的書,內(nèi)容比較寬泛,設(shè)計(jì)服務(wù)器,框架,網(wǎng)絡(luò)等知識(shí),較綜合,但對(duì)于這幾方面的全局知識(shí)性的掌握,很有幫助,可以在頭腦中建立起一個(gè)大致完整的系統(tǒng)級(jí)架構(gòu)和過程。
2.5 算法
《劍指offer》:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
也是一本老書了。一般的面試題,經(jīng)常有此書里面的改變題,或者偶有原題,對(duì)于一些常規(guī)編程題的解法和思路,和基礎(chǔ)數(shù)據(jù)結(jié)構(gòu)的運(yùn)用,有很好的幫助。此書我刷了兩遍,且把里面的編程題都自己實(shí)現(xiàn)。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
《程序員代碼面試指南-IT名企算法與數(shù)據(jù)結(jié)構(gòu)題目最優(yōu)解》:? ? ? ? ? ? ? ? ? ? ??
此書包含大量的編程題的最優(yōu)實(shí)現(xiàn),題型涉及很多,很全,書也相對(duì)較厚。但是對(duì)于算法的思路,和大數(shù)據(jù)算法的思路有很大幫助,對(duì)于時(shí)間緊,又要找工作的人來說,很是有用。當(dāng)然要想學(xué)好算法,肯定還得看別更系統(tǒng)的教設(shè)計(jì)算法的方法的書了。
2.6 設(shè)計(jì)模式
對(duì)于開發(fā)人員的話,設(shè)計(jì)模式還是有必要掌握一些的。
《HeadFirst設(shè)計(jì)模式》:此書內(nèi)容生活活潑,配有很多形象生動(dòng)的插圖,HearFirst系列的書就是這樣。我設(shè)計(jì)模式入門就是看的此書,書還配有一張?jiān)O(shè)計(jì)模式大全的大大的紙質(zhì)海報(bào)吧類似,要是貼在墻上,每天看看,說不定23中設(shè)計(jì)模式都能記住。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
《大話設(shè)計(jì)模式》:此書講解設(shè)計(jì)模式是根據(jù)實(shí)際業(yè)務(wù)出發(fā)的,里面用了很多的業(yè)務(wù)場景的例子來講解對(duì)應(yīng)的設(shè)計(jì)模式。如果沒有對(duì)應(yīng)業(yè)務(wù)的開發(fā)經(jīng)驗(yàn)的話,讀起來不是很友好。
2.7 框架
《SpringMVC學(xué)習(xí)指南》:此書講解了使用Springmvc部分的方法,和里面組件的使用方法等。對(duì)于初步的對(duì)SpringMVC的使用時(shí)很有幫助的。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
《看透SpringMVC》:此書是我SpringMVC源碼時(shí)的輔助書籍,書里講解了作者讀源碼的一些心得,對(duì)于新手讀源碼有一定的幫助。畢竟一開始讀源碼都覺得很難,此書陪你走過這第一道難關(guān),以后讀源碼就沒有那么畏難了。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
《Spring技術(shù)內(nèi)幕》:師兄推薦的,我沒讀完,讀著被繞進(jìn)去了,而且此書是根據(jù)3.x的源碼講解的,現(xiàn)在Spring早已經(jīng)更新到了5.x了,很多地方都已經(jīng)變了,期待作者再版啊。
END
覺得文章不錯(cuò)的,歡迎點(diǎn)好看和轉(zhuǎn)發(fā),長按下圖關(guān)注程序員喬戈里,收看更多精彩。
周末輕松一刻:
周日啦大家在干嘛或?qū)τ诒疚挠泻慰捶?#xff0c;歡迎留言?
留言格式:
打卡xx天,答:xxx
總結(jié)
以上是生活随笔為你收集整理的计算机科班Java开发好书推荐的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java程序员常用的快捷键
- 下一篇: 正交db小波 图像处理 matlab,基