更新時(shí)間:2019-09-27 11:00:34 來源:動(dòng)力節(jié)點(diǎn) 瀏覽3851次
以下列出了10本書,對于任何希望提高Java知識和理解的Java程序員來說都是必不可少的。
就我個(gè)人而言,我非常喜歡讀書。我的圖書館里有幾百本書和電子書。當(dāng)我還是個(gè)孩子的時(shí)候,我讀了很多漫畫,包括《超級突擊隊(duì)》(SuperCommandoDhruv),他是我最喜歡的角色,因?yàn)樗适轮械目茖W(xué)主題,以及他通常是如何憑借自己的大腦、智慧和對科學(xué)事實(shí)的簡單了解打敗更強(qiáng)大的敵人的。
當(dāng)我成為一名程序員時(shí),我對書籍的熱情還在繼續(xù)。除了大學(xué)里的教科書,我讀的第一本Java書籍是HeadfirstDesignPattern。這本書完全改變了我對Java的知識和對面向?qū)ο缶幊痰睦斫狻?/p>
直到那時(shí),我才明白這個(gè)接口的真正用途。對我來說,它們看起來毫無用處,因?yàn)槟鸁o法編寫代碼來執(zhí)行任何操作。但是,讀了這本書之后,我意識到它們在減少程序不同部分之間的耦合方面是多么的棒。
從那時(shí)起,我讀過很多編程書籍,大部分都與Java有關(guān)。今天,我將分享每個(gè)Java開發(fā)人員都應(yīng)該閱讀的10本最好的Java書籍。即使其中有些知識在現(xiàn)在看來是過時(shí)的,可從中學(xué)到的大部分內(nèi)容都會(huì)幫助你積累業(yè)務(wù)知識以及提升自己職業(yè)素質(zhì)。
Java程序員的Top10本書籍
下面是我為Java程序員列出的一些最流行、最重要的書籍。如果您已經(jīng)做了2到3年的Java程序員,那么您很可能已經(jīng)讀過這些書了。但是,如果你還沒有讀過,現(xiàn)在是閱讀它們的最佳時(shí)機(jī)。你不會(huì)后悔把你的時(shí)間和金錢投資在這些書上,因?yàn)榛貓?bào)是無限的。
1.EffectiveJava(有效的Java)
相信這本書出現(xiàn)在第一位,不會(huì)有任何意外。約書亞·布洛赫的《有效Java》是有史以來最好的Java書籍。對于任何經(jīng)驗(yàn)級別的Java程序員來說,這絕對是一本必讀的書。你會(huì)學(xué)到很多關(guān)于Java和它的API的知識。
事實(shí)上,JoshuaBloch自己就是幾個(gè)關(guān)鍵Java類和API(例如Java)的作者。lang和Java集合框架,是閱讀這本書的充分理由。除此之外,他的寫作風(fēng)格也非常棒。
你可以在海灘上閱讀這本書,也可以在旅行中閱讀,也可以在辦公桌前閱讀。這是可怕的。毫無疑問,在閱讀這本書之后,您將成為一個(gè)更好的Java程序員。
最重要的是,現(xiàn)在有了一個(gè)新的有效Java版本,它涵蓋了Java7、8和9,現(xiàn)在讀這本書再好不過了。
2.CleanCode
Java程序員的另一個(gè)永恒經(jīng)典是干凈的代碼。正如標(biāo)題所示,它教會(huì)您編寫更好的代碼,這是一件非常難學(xué)的事情。說實(shí)話,學(xué)習(xí)Java很容易,但是編寫更好的Java代碼卻很難,因?yàn)樗褂昧藦?qiáng)大的OOP原則,而這正是本書的精髓之所在。
與約書亞·布洛赫相似,羅伯特·c·馬丁(RobertC.Martin)也被稱為鮑勃叔叔(UncleBob),他是一位優(yōu)秀的作者,分享了他作為一名軟件開發(fā)人員的許多經(jīng)驗(yàn),教會(huì)了你各種編程技術(shù)和實(shí)踐,對你作為程序員的日常工作有很大幫助。
3.JavaConcurrencyinPractice(Java并發(fā)編程實(shí)戰(zhàn))
多線程和并發(fā)性是Java編程的重要部分。在實(shí)踐中,沒有比BrianGoetz的Java并發(fā)更好的書來學(xué)習(xí)和掌握這個(gè)棘手的主題。
盡管這本書只涉及Java5,但它對于任何認(rèn)真的Java開發(fā)人員來說都是必讀的書籍。
有些人可能會(huì)發(fā)現(xiàn)有些部分有點(diǎn)難以理解,特別是3.5.1到3.5.6節(jié),如果是這樣,我建議您通過HeinzKabutz博士的Java-并發(fā)性能課程。這將有助于你更好地理解和理解這些主題。
4.HeadFirstDesignPatterns
了解OOP和設(shè)計(jì)模式對于編寫任何Java應(yīng)用程序都很重要。HeadFirst設(shè)計(jì)模式是學(xué)習(xí)這樣做的最好的書。
正如我之前說過的,這是我在Java上讀過的第一本書,除了教科書。看完這本書,我很感動(dòng)。這本書教會(huì)了我為什么組合比繼承更好,以及如何在不修改已經(jīng)測試過的代碼的情況下更改類的運(yùn)行時(shí)行為。
您可能認(rèn)為這只是另一本舊書,但不必?fù)?dān)心,幾年前發(fā)布了一份關(guān)于JavaSE8的更新版本。
如果您認(rèn)真地學(xué)習(xí)Java中的設(shè)計(jì)模式,那么您應(yīng)該閱讀這本書!
5.SpringinAction
對不起,我必須在Java程序員的經(jīng)典書籍列表中包含一本Springbook,SpringinAction。Spring是有史以來最流行的Java框架,這是了解Spring框架的最好的書,但是——老實(shí)說——這本書不僅僅是一本Spring的書。
雖然無法解釋,可在閱讀了這本書的第4版之后,我對Java和編寫更好的代碼有了很多的認(rèn)識。
書中有一個(gè)主題,例如JDBC,并解釋了JDK哪里出了問題,以及Spring如何糾正錯(cuò)誤,例如SQLException,這是一個(gè)通用的異常,表示某件事出了問題,但并不確切地指出問題出在哪里,以及如何處理它。
就像JosuhaBloch和UncleBob一樣,CraigWalls也是一位偉大的作家,通過閱讀這本書,你會(huì)學(xué)到比Spring更多的東西。
6.TestDriven(測試驅(qū)動(dòng))
自動(dòng)化測試是一項(xiàng)重要的技能。對于開發(fā)人員來說,一切都從單元測試開始。Java從一開始就有幸擁有JUnit,但是僅僅知道這個(gè)庫并不能使您成為能夠編寫測試的專業(yè)程序員。
它所需要的遠(yuǎn)不止了解單元測試庫(如JUnit或Mockito),這也是這本書的用處所在。如果您認(rèn)真對待代碼質(zhì)量和編寫單元、集成和自動(dòng)化測試,那么在2018年您將閱讀《測試驅(qū)動(dòng)》這本書。
7.TheDefinitiveGuidetoJavaPerformance(Java性能權(quán)威指南)
成為更好的Java開發(fā)人員的另一個(gè)方面是了解JVM、垃圾收集和性能調(diào)優(yōu)。雖然有一些關(guān)于這個(gè)主題的好書,例如BinuJohn和CharlieHunt的Java性能,但是ScottOaks關(guān)于Java性能的權(quán)威指南是我最喜歡的。
盡管它只涵蓋了JDK7,但您將了解很多關(guān)于性能調(diào)優(yōu)和JVM的知識,這完全證明了您將在這本書中花費(fèi)的時(shí)間和金錢是合理的。
8.HeadFirstJava
有多少人是通過閱讀這本書開始學(xué)習(xí)Java的?嗯,我就是。在我了解了HeadFirstDesignPattern之后,我也找到了這本書,HeadFirstJava,我非常喜歡讀它。我學(xué)到了很多Java概念,我的許多誤解也被糾正了。
盡管許多人認(rèn)為這是一本過時(shí)的書,但我仍然覺得它是一本非常適合剛開始使用Java的書,因?yàn)樗?dú)特的風(fēng)格和內(nèi)容。
通過閱讀本書,您可以輕松了解Java8、Java9和Java10對其他版本的更改。
9.HeadFirstObject-OrientedAnalysisandDesign(面向?qū)ο蠓治龊驮O(shè)計(jì))
在最偉大的Java書籍列表中,這是另一本“HeadFirst”的書。是的,他們簡直太棒了。
HeadFirst面向?qū)ο蟮姆治龊驮O(shè)計(jì)為Java程序員形成了“HeadFirst”三部曲,即HeadFirstJava、HeadFirstDesignPatterns和HeadFirstOOAD。
它實(shí)際上補(bǔ)充了HeadFirst的設(shè)計(jì)模式,解釋了面向?qū)ο缶幊毯驮O(shè)計(jì)的技術(shù)。
我從這本書中學(xué)到的最重要的技術(shù)是為接口編碼,以及如何封裝更改。這本書僅僅改變了我編寫Java代碼的方式。
10.Java:ABeginner'sGuide(Java初學(xué)者指南)
如果你需要一本全面的Java書,應(yīng)該就是這個(gè)。盡管標(biāo)題上寫著Java:初學(xué)者指南,但它是學(xué)習(xí)Java最完整的書籍之一。
HerbertSchildt先生在保持這本書的最新進(jìn)展方面也做了一件值得稱贊的工作,例如,這本書的第七版現(xiàn)在涵蓋了Java9。
但是,我不知道他將如何保持這本書的最新發(fā)展,因?yàn)镴ava從Java10開始的新的6個(gè)月發(fā)布周期。
以上就是動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)小編介紹的“2019年推薦!Java編程必讀的10本最全面書籍”的內(nèi)容,希望對大家有幫助,更多java最新資訊請繼續(xù)關(guān)注動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)官網(wǎng),每天會(huì)有精彩內(nèi)容分享與你。
相關(guān)閱讀
初級 202925
初級 203221
初級 202629
初級 203743