學(xué)習(xí)java入門到精通框架的書,小編認(rèn)為,書是系統(tǒng)化知識(shí)的來源,想要提高Java水平還是要多實(shí)踐、閱讀源碼、和資深人士交流等,畢竟書籍也很難完全跟上技術(shù)和架構(gòu)的變革,因此我也盡量縮減了書單的長度。
關(guān)于夯實(shí)Java編程基礎(chǔ),我推薦BruceEckel的《Java編程思想》(ThinkinginJava),這是一本非常有名的經(jīng)典書籍。這本書的特點(diǎn)是,不僅僅介紹Java編程的基礎(chǔ)知識(shí)點(diǎn),也會(huì)思考編程中的各種選擇與判斷,包括穿插設(shè)計(jì)模式的使用,作者從理論到實(shí)踐意義從不同的角度進(jìn)行探討,構(gòu)建穩(wěn)固的Java編程知識(shí)體系。
如果你完全沒有Java編程基礎(chǔ),也可以考慮其他的參考書,例如《Java核心技術(shù)》。
當(dāng)然,這兩本書的部分內(nèi)容已經(jīng)多少有點(diǎn)過時(shí)了,尤其是《Java編程思想》。例如,目前很少會(huì)需要學(xué)習(xí)Java桌面圖形類庫等,較新的語法和API當(dāng)然也沒有包含,我的建議是盡管忽略過時(shí)內(nèi)容,適當(dāng)補(bǔ)充Java新技術(shù)的學(xué)習(xí)。
提到經(jīng)典,自然也少不了《EffectiveJava》,這本書的英文第三版已經(jīng)在國內(nèi)上市,涵蓋了Java7到Java9的各種新特性。嚴(yán)格來說,這本書不算是一本基礎(chǔ)書籍,但當(dāng)你有一定基礎(chǔ)后,還是非常建議通讀一下的。關(guān)于這本書的閱讀,我的建議是邊學(xué)習(xí)邊回顧,在吸收書中的經(jīng)驗(yàn)時(shí),多去想想自己在實(shí)際應(yīng)用中是如何處理的。雖然《EffectiveJava》的具體章節(jié)可能是從某個(gè)點(diǎn)出發(fā),但可以說都是對(duì)Java、JVM、面向?qū)ο蟮雀鞣N知識(shí)的綜合運(yùn)用,對(duì)于設(shè)計(jì)和實(shí)現(xiàn)高質(zhì)量的代碼很有幫助。
《HeadFirst設(shè)計(jì)模式》這本書就不用我再費(fèi)筆墨去介紹了吧,能把設(shè)計(jì)模式用這種輕松的形式展現(xiàn)本身已經(jīng)十分不易了,章節(jié)之間的聯(lián)系讓你可以反復(fù)加深印象,書中生動(dòng)的表達(dá)方式和豐富的習(xí)題也讓你更容易沉浸其中。
這本書非常適合對(duì)面向?qū)ο蠛驮O(shè)計(jì)模式基礎(chǔ)有限的同學(xué)。設(shè)計(jì)模式不是銀彈,實(shí)踐中也莫要為了模式而模式,掌握典型模式,能夠舉一反三就很好了,就當(dāng)作是程序員之間溝通的“方言”。
談過了Java基礎(chǔ),接下來聊聊并發(fā)和虛擬機(jī)的參考書。
《Java并發(fā)編程實(shí)戰(zhàn)》
作者全是響當(dāng)當(dāng)?shù)娜宋铮热鏐rianGoetz,我多次在專欄里引用他的觀點(diǎn),眾多強(qiáng)力作者也保證了書的質(zhì)量。拋開作者光環(huán),這本書的內(nèi)容全部建立在理論之上,先講清道理再談實(shí)踐,可以真正讓你知其然也知其所以然。這本書更加側(cè)重并發(fā)編程中有哪些問題,如何來深刻地理解和定義問題,如何利用可靠的手段指導(dǎo)工程實(shí)踐,并沒有過分糾結(jié)于并發(fā)類庫的源碼層面。
還有一些開源軟件和互聯(lián)網(wǎng)架構(gòu)相關(guān)的圖書可以作為擴(kuò)展閱讀,可以參考下面這幾本。
《Spring實(shí)戰(zhàn)》
可以說Spring等相關(guān)框架已經(jīng)成為業(yè)務(wù)開發(fā)的事實(shí)標(biāo)準(zhǔn),系統(tǒng)性地掌握Spring框架的設(shè)計(jì)和實(shí)踐,是必需的技能之一。
《Netty實(shí)戰(zhàn)》
Netty在性能、可擴(kuò)展性等方面的突出表現(xiàn),已經(jīng)得到充分驗(yàn)證,作為基礎(chǔ)的通信框架,已經(jīng)廣泛應(yīng)用在各種互聯(lián)網(wǎng)架構(gòu)、游戲等領(lǐng)域,甚至可以說,如果沒有仔細(xì)分析過Netty,對(duì)NIO等方面的理解很可能還在很膚淺的階段。
《CloudNativeJava》
Java應(yīng)用程序架構(gòu)處于飛快的演進(jìn)之中,微服務(wù)等新的架構(gòu)應(yīng)用越來越廣泛,即使不是使用SpringBoot、SpringCloud等框架,系統(tǒng)地學(xué)習(xí)其設(shè)計(jì)思想和實(shí)踐技術(shù),也絕對(duì)是有必要的。當(dāng)然如果你在實(shí)踐中使用的是Dubbo等框架,也可以選擇相關(guān)書籍進(jìn)行閱讀。
前沿領(lǐng)域的變化非???,很多風(fēng)靡一時(shí)的開源軟件,在實(shí)踐中逐漸被證明存在各種弊端,或者廠商停止維護(hù)。所以這部分的學(xué)習(xí),我建議不要盲目追新,最好是關(guān)注分布式設(shè)計(jì)中的問題和解決的思路,做到觸類旁通,并且注重書籍之外的學(xué)習(xí)渠道。
以上就是長沙達(dá)內(nèi)教育Java培訓(xùn)機(jī)構(gòu)小編介紹的“學(xué)習(xí)Java入門到精通框架的書”的內(nèi)容,希望對(duì)大家有幫助,如有疑問,請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。
相關(guān)內(nèi)容
零基礎(chǔ)學(xué)Java編程,有什么Java書籍適合學(xué)習(xí)
2019年Java架構(gòu)師必讀書籍
Java新手入門必看幾本經(jīng)典書籍推薦!
推薦給新手的Java零基礎(chǔ)入門書籍