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