java - 有入門一些沒那么難的關(guān)于JVM的書推薦嗎
問題描述
想學(xué)習(xí)一下jvm的原理,對寫java代碼會有比較大的提升,太難的好像又還看不懂,暫時還覺得《深入了解Java虛擬機(jī)》這本書還不是很適合我這個大學(xué)生
最近下班后有空會看一下effective java 這本書,也挺不錯的,雖然要慢慢理解
問題解答
回答1:周志明大大這本書已經(jīng)寫的很透徹了,我剛好最近也在看,我覺得虛擬機(jī)相關(guān)細(xì)節(jié)本身就是一個比較深入的內(nèi)容,需要靜下心去讀,去思考。雖然這樣看下去真的很慢,但很有收獲。真的要靜下心來,不要急躁!希望有幫到你
回答2:說實話,關(guān)于jvm的東西你最好有了一到兩年的經(jīng)驗讀起來可能會很有收獲,并且理解起來可能更容易點。這種涉及到底層的原理的東西,其實對你寫代碼幫助并不是特別大,只是能夠幫你理解一些基礎(chǔ)。并且這書主要適合用來進(jìn)行jvm調(diào)優(yōu)的的工作,至少在你現(xiàn)在的階段,jvm本身就足以滿足你的需求,并不用調(diào)優(yōu)。
關(guān)于jvm的書,有《深入Jvm虛擬機(jī)》和《jvm虛擬機(jī)規(guī)范》,我有前者,作者也盡量用一些很通俗易懂的例子去解釋內(nèi)在的原理,雖然如此,但是理解起來還是略有難度。若想提升寫代碼的能力,不如多看點實際代碼,多敲點代碼,只有當(dāng)你積累一定的代碼量,去看底層才會豁然開朗。
這就好比你用斧子,首先你要知道斧子怎么用,用來干什么,當(dāng)你用的很熟練的時候,你就會對斧子的構(gòu)造以及為什么這么設(shè)計,這樣設(shè)計有什么好處有一個整體通透的理解。再去選擇造斧子把!
回答3:不管哪本書都要耐下心來看,自然就會有收獲。想當(dāng)初看《算法導(dǎo)論》打開看兩眼就放棄了,現(xiàn)在倒也能看下去。
虛擬機(jī)這塊建議先看一些博客,心里大致有一個認(rèn)知框架,這個階段書的話推薦《分布式Java應(yīng)用基礎(chǔ)與實踐》的第3章。
之后推薦《深入理解Java虛擬機(jī)》,重點看第2、3、4、7章,之后可以再繼續(xù)看第8、12、13章,可以結(jié)合著《Java性能權(quán)威指南》一起看。
回答4:說實話,了解JVM對寫Java代碼的提升不是特別大,一般簡單的優(yōu)化編譯器已經(jīng)幫你做了。如果真要做些大優(yōu)化,一般都是根據(jù)場景的參數(shù)調(diào)優(yōu)。
如果你對JVM感興趣,在這里自薦兩篇我的博客:
淺析JVM之內(nèi)存管理
JVM體系結(jié)構(gòu)與工作方式概覽
然后想說的是,Effective Java適合壘代碼壘了一年以上的程序員,新手去看是沒多大意義的。而且基本和JVM無關(guān)。
回答5:<head first java> head first 系列的書都很不錯, 另外就是<JDK學(xué)習(xí)筆記>也不錯
相關(guān)文章:
1. 如何解決docker宿主機(jī)無法訪問容器中的服務(wù)?2. docker 下面創(chuàng)建的IMAGE 他們的 ID 一樣?這個是怎么回事????3. require后不用使用echo返回到微信服務(wù)器 嗎4. nginx - 如何將wordpress系統(tǒng)放在二級域名下5. javascript - 請問要如何修改 Node 的透明度嗎?6. javascript - 求助,nodeJS和koa2文檔對新手小白太不友好,一臉懵逼。。。7. css3 background顯示圖片的一部分8. vim中編輯HTML文件時換行不能縮進(jìn)9. 在應(yīng)用配置文件 app.php 中找不到’route_check_cache’配置項10. html按鍵開關(guān)如何提交我想需要的值到數(shù)據(jù)庫
