更新時(shí)間:2019-12-16 14:23:34 來源:動力節(jié)點(diǎn) 瀏覽3130次
“學(xué)習(xí)的最好途徑就是看書“,這是我自己學(xué)習(xí)并且小有了一定的積累之后的第一體會。個人認(rèn)為看書有兩點(diǎn)好處:
1.能出版出來的書一定是經(jīng)過反復(fù)的思考、雕琢和審核的,因此從專業(yè)性的角度來說,一本好書的價(jià)值遠(yuǎn)超其他資料
2.對著書上的代碼自己敲的時(shí)候方便
好了話不多說,好的Java書籍壘起來:

《深入理解Java虛擬機(jī):JVM高級特性與最佳實(shí)踐》
如果你不滿足于做一個只會寫if…else…的Java程序員,而是希望更進(jìn)一步,我隨便舉幾個例子吧:
1、了解Java代碼的底層運(yùn)行機(jī)制
2、定位性能問題
3、對整個系統(tǒng)進(jìn)行性能調(diào)優(yōu)
4、解決各種奇奇怪怪的線上線下問題
5、更加高級別的,為自己的項(xiàng)目量身定做一款適合自己項(xiàng)目的虛擬機(jī)
那 么Java虛擬機(jī)是你必學(xué)的一門技術(shù)?!渡钊肜斫釰ava虛擬機(jī):JVM高級特性與最佳實(shí)踐》作者是周志明,這本書可以說是國內(nèi)寫得最好的有關(guān)Java虛 擬機(jī)的書籍,近半年,前前后后這本書我起碼看了有5遍。國內(nèi)寫虛擬機(jī)的書除了這本,其實(shí)還有一些其他的,我也買過,不過粗略看下來,很多內(nèi)容也是《深入理 解Java虛擬機(jī):JVM高級特性與最佳實(shí)踐》此書里面的。
另外值得一提的是,《深入理解Java虛擬機(jī):JVM高級特性與最佳實(shí)踐》這本 書,有電子版的,網(wǎng)上搜一下就能下載到了。不過建議有興趣的朋友還是去買書看,電子版本下載到的一般是比較老的版本,相比最新修訂版的《深入理解Java 虛擬機(jī):JVM高級特性與最佳實(shí)踐》,有很多作者新補(bǔ)充的知識點(diǎn)是沒有的。
《HotSpot實(shí)戰(zhàn)》
所有的Java虛擬機(jī)都是遵循著Java虛擬機(jī)規(guī)范來的,市面上的Java虛擬機(jī)幾十款,《深入理解Java虛擬機(jī):JVM高級特性與最佳實(shí)踐》一書里面講的虛擬機(jī)并不針對某種特定的虛擬機(jī),而是從Java虛擬機(jī)規(guī)范的角度來講解Java虛擬機(jī)。
我們平時(shí)使用的乃至商用的大多數(shù)Java虛擬機(jī)都是Sun公司的HotSpot,大家cmd進(jìn)入命令行,使用”java -version”命令就可以看到了。如果希望在Java虛擬機(jī)規(guī)范的基礎(chǔ)上更加深入地去理解虛擬機(jī)的一些細(xì)節(jié)是怎么實(shí)現(xiàn)的,就可以看一下《HotSpot實(shí)戰(zhàn)》一書,作者是陳濤。不過由于HotSpot的源碼都是C/C++寫的,所以要求讀者有非常好的C/C++基礎(chǔ),如果對這兩門語言不是很熟悉的朋友,看這本書可能對你幫助不是很大。
最后提一句,如果有興趣的朋友,不妨先去網(wǎng)上下載一個openJDK,HotSpot的源碼就在里面。
《Java并發(fā)編程實(shí)戰(zhàn)》
這本書常常被列入Java程序員必讀十大書籍排行榜前幾位,不過個人不是很推薦這本書。
《Java并發(fā)編程實(shí)戰(zhàn)》作者是Brian Goetz,怎么說呢,這本書前前后后我也看了兩遍左右,個人感受是:
1、文字多代碼少
2、講解多實(shí)踐少
我 覺得這可能就是老外寫書的特點(diǎn)吧,因?yàn)镴ava是北美國家(加拿大、美國)開發(fā)和維護(hù)的,所以老外對Java方方面面的理論知識體系都掌握得是非常清楚和 透徹的。翻開這本書看,多線程什么用、什么是死鎖、什么是競爭、什么是線程安全等等,方方面面的知識點(diǎn)都用大量的文字篇幅講解,不免讓人感覺十分枯燥,也 難讓讀者有實(shí)質(zhì)性的進(jìn)步。我這本書看了兩遍也屬于一目十行意思,有興趣的地方就重點(diǎn)看一下。
無論如何,作為一本常常位于Jva程序員必讀十大書籍排行榜前幾名的書,還是一定要推薦給大家的。
《java多線程編程核心技術(shù)》
《Java多線程編程核心技術(shù)》作者高洪巖。想要學(xué)習(xí)多線程的朋友,這本書是我大力推薦的,我的個人博客里面二十多篇的多線程博文都是基于此書,并且在這本書的基礎(chǔ)上進(jìn)行提煉和總結(jié)而寫出來的。
此書和《Java并發(fā)編程實(shí)戰(zhàn)》 相反,這本書的特點(diǎn)是大篇幅的代碼+小篇幅的精講解,可能這和中國人寫的書比較偏向?qū)嵱弥髁x的風(fēng)格有關(guān)。本書關(guān)于線程安全、synchronized、 Reentrant、Timer等等都用詳細(xì)的代碼進(jìn)行了講解,而且每個大知識點(diǎn)下的多個小知識點(diǎn)都會詳細(xì)講解到,非常有實(shí)踐價(jià)值。
有興趣的朋友們,我相信只要你們跟著這本書里面的代碼敲、運(yùn)行、思考,三步走,對于多線程的使用與理解一定會進(jìn)幾大步。
不 過這本書的缺點(diǎn)就是對于Java并發(fā)包下的一些類像CountDownLatch、Semphore、CyclicBarrier、Future、 Callable等都沒有講到,重點(diǎn)的CAS和AQS也沒有觸及,重點(diǎn)類的實(shí)現(xiàn)原理也沒有提。當(dāng)然,這很深入了,在學(xué)習(xí)了這本書之后如果能再去對這些知識 進(jìn)行一些學(xué)習(xí)、研究的話,你一定會慢慢成長為一個很厲害的多線程高手。
《Effective Java中文版》
這是唯一一本我沒有買的書。初識這本書,是在我的博文Java代碼優(yōu)化(長期更新)里面,底下評論的時(shí)候有朋友提到了這本書,當(dāng)時(shí)我說要去買,不過這兩個月一直都沒時(shí)間去逛書店,甚是遺憾,之后肯定會找時(shí)間去買這本書的。
《Effective Java中文版》的作者是Joshua Bloch,這個人就很厲害了,他是谷歌的首席架構(gòu)師,屬于超級技術(shù)大牛級別了吧,呵呵。由于沒有看過這本書,所以我不好發(fā)表評論,但是從這本書的知名度 以及其作者的來頭來看(多提一句,這本書也是Java之父James Gosling博士推崇的一本書),我相信這一定是一本值得一看的好書。
好 的代碼是每個Java程序員都應(yīng)該去追求的,不是說我今天寫一段好代碼相比寫一段爛代碼對性能會有多大的提升,更多的應(yīng)該是提升了代碼的可讀性以及可以規(guī) 避許多潛在的、未知的問題,避免代碼上線之后出問題而花時(shí)間去維護(hù)—-無論從時(shí)間成本、人力成本還是風(fēng)險(xiǎn)成本來說,這都是非常高的。
《深入分析Java Web技術(shù)內(nèi)幕》
《深入分析Java Web技術(shù)內(nèi)幕》,作者許令波,淘寶工程師。
這本書我用一個字概括就是:全。真的非常全,HTTP、DNS、CDN、靜態(tài)化、Jetty、Tomcat、Servlet、Spring、MyBatis等等,什么都有,涉及知識面非常廣,但又不像專門精講某個知識點(diǎn)的書籍一樣講得非常深入,感覺這本書就是盡量去用短的篇幅講清楚一些Java Web使用到的技術(shù)的內(nèi)幕,讓讀者對這些知識點(diǎn)的技術(shù)內(nèi)幕有一個理性的認(rèn)識。
不過,盡管每個知識點(diǎn)的篇幅都不多,但是重點(diǎn)都基本講到了,是一本讓人真正有收獲的書。如果想進(jìn)一步了解這些技術(shù)的技術(shù)內(nèi)幕,就要自己去買相關(guān)書籍或者自己上網(wǎng)查資料了,有種拋磚引玉,或者說師傅領(lǐng)進(jìn)門、修行在個人的感覺。

以上就是動力節(jié)點(diǎn)Java培訓(xùn)機(jī)構(gòu)小編介紹的“Java學(xué)習(xí)比較好的書籍”的內(nèi)容,希望對大家有幫助,如有疑問,請?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。
相關(guān)內(nèi)容
零基礎(chǔ)學(xué)Java編程,有什么Java書籍適合學(xué)習(xí)
相關(guān)閱讀

初級 202925

初級 203221

初級 202629

初級 203743