Java的技術(shù)知識(shí)是海量的,要不停學(xué)習(xí),無論什么時(shí)候都要學(xué)習(xí),那么,學(xué)習(xí)的最好途徑就是看書,在北大青鳥長沙麓谷校區(qū)Java培訓(xùn)的學(xué)習(xí),小編一般都會(huì)推薦這幾本書,搭配學(xué)習(xí)課程,讓學(xué)員快速成長,以下就是小編整理的書籍,希望可以幫助到大家:
《深入理解Java虛擬機(jī):JVM高級(jí)特性與最佳實(shí)踐》
如果你不滿足于做一個(gè)只會(huì)寫if…else…的Java程序員,而是希望更進(jìn)一步,我隨便舉幾個(gè)例子吧:
1、了解Java代碼的底層運(yùn)行機(jī)制
2、定位性能問題
3、對(duì)整個(gè)系統(tǒng)進(jìn)行性能調(diào)優(yōu)
4、解決各種奇奇怪怪的線上線下問題
5、更加高級(jí)別的,為自己的項(xiàng)目量身定做一款適合自己項(xiàng)目的虛擬機(jī)
那么Java虛擬機(jī)是你必學(xué)的一門技術(shù)?!渡钊肜斫釰ava虛擬機(jī):JVM高級(jí)特性與最佳實(shí)踐》作者是周志明,這本書可以說是國內(nèi)寫得最好的有關(guān)Java虛擬機(jī)的書籍,國內(nèi)寫虛擬機(jī)的書除了這本,其實(shí)還有一些其他的,我也買過,不過粗略看下來,很多內(nèi)容也是《深入理解Java虛擬機(jī):JVM高級(jí)特性與最佳實(shí)踐》此書里面的。
另外值得一提的是,《深入理解Java虛擬機(jī):JVM高級(jí)特性與最佳實(shí)踐》這本書,有電子版的,網(wǎng)上搜一下就能下載到了。不過建議有興趣的朋友還是去買書看,電子版本下載到的一般是比較老的版本,相比最新修訂版的《深入理解Java虛擬機(jī):JVM高級(jí)特性與最佳實(shí)踐》,有很多作者新補(bǔ)充的知識(shí)點(diǎn)是沒有的。
《HotSpot實(shí)戰(zhàn)》
所有的Java虛擬機(jī)都是遵循著Java虛擬機(jī)規(guī)范來的,市面上的Java虛擬機(jī)幾十款,《深入理解Java虛擬機(jī):JVM高級(jí)特性與最佳實(shí)踐》一書里面講的虛擬機(jī)并不針對(duì)某種特定的虛擬機(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ǔ),如果對(duì)這兩門語言不是很熟悉的朋友,看這本書可能對(duì)你幫助不是很大。
《Java并發(fā)編程實(shí)戰(zhàn)》
這本書常常被列入Java程序員必讀十大書籍排行榜前幾位,不過個(gè)人不是很推薦這本書。
《Java并發(fā)編程實(shí)戰(zhàn)》作者是Brian Goetz,怎么說呢,這本書個(gè)人感受是:
1、文字多代碼少
2、講解多實(shí)踐少
我覺得這可能就是老外寫書的特點(diǎn)吧,因?yàn)镴ava是北美國家(加拿大、美國)開發(fā)和維護(hù)的,所以老外對(duì)Java方方面面的理論知識(shí)體系都掌握得是非常清楚和透徹的。翻開這本書看,多線程什么用、什么是死鎖、什么是競(jìng)爭(zhēng)、什么是線程安全等等,方方面面的知識(shí)點(diǎn)都用大量的文字篇幅講解,不免讓人感覺十分枯燥,也難讓讀者有實(shí)質(zhì)性的進(jìn)步。有興趣的地方就重點(diǎn)看一下。
《java多線程編程核心技術(shù)》
《Java多線程編程核心技術(shù)》作者高洪巖。想要學(xué)習(xí)多線程的朋友,這本書是我大力推薦的,
此書和《Java并發(fā)編程實(shí)戰(zhàn)》相反,這本書的特點(diǎn)是大篇幅的代碼+小篇幅的精講解,可能這和中國人寫的書比較偏向?qū)嵱弥髁x的風(fēng)格有關(guān)。本書關(guān)于線程安全、synchronized、Reentrant、Timer等等都用詳細(xì)的代碼進(jìn)行了講解,而且每個(gè)大知識(shí)點(diǎn)下的多個(gè)小知識(shí)點(diǎn)都會(huì)詳細(xì)講解到,非常有實(shí)踐價(jià)值。
有興趣的朋友們,我相信只要你們跟著這本書里面的代碼敲、運(yùn)行、思考,三步走,對(duì)于多線程的使用與理解一定會(huì)進(jìn)幾大步。
不過這本書的缺點(diǎn)就是對(duì)于Java并發(fā)包下的一些類像CountDownLatch、Semphore、CyclicBarrier、Future、Callable等都沒有講到,重點(diǎn)的CAS和AQS也沒有觸及,重點(diǎn)類的實(shí)現(xiàn)原理也沒有提。當(dāng)然,這很深入了,在學(xué)習(xí)了這本書之后如果能再去對(duì)這些知識(shí)進(jìn)行一些學(xué)習(xí)、研究的話,你一定會(huì)慢慢成長為一個(gè)很厲害的多線程高手。
《Effective Java中文版》
《Effective Java中文版》的作者是Joshua Bloch,這個(gè)人就很厲害了,他是谷歌的首席架構(gòu)師,屬于超級(jí)技術(shù)大牛級(jí)別了吧,呵呵。由于沒有看過這本書,所以我不好發(fā)表評(píng)論,但是從這本書的知名度以及其作者的來頭來看(多提一句,這本書也是Java之父James Gosling博士推崇的一本書),我相信這一定是一本值得一看的好書。
以上就是北大青鳥長沙麓谷校區(qū)Java培訓(xùn)機(jī)構(gòu)的小編針對(duì)“學(xué)Java需要學(xué)哪些書,入門到進(jìn)階必不可少”的內(nèi)容進(jìn)行的回答,希望對(duì)大家有所幫助,如有疑問,請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。
學(xué)Java