在江湖中要練就絕世武功必須內(nèi)外兼?zhèn)?,精妙的招式和深厚的?nèi)功,武功的基礎(chǔ)是內(nèi)功。對(duì)于武功低(就像江南七怪)的人,招式更重要,因?yàn)樗麄儾荒芸績?nèi)功直接去傷人,只能靠招式,利刃上優(yōu)勢(shì)來取勝了,但是練到高手之后,內(nèi)功就更主要了。一個(gè)內(nèi)功低的人招式在奇妙也打不過一個(gè)內(nèi)功高的人。比如,你劍法再厲害,一劍刺過來,別人一掌打斷你的劍,你還怎么使劍法,你一掌打到一個(gè)武功高的人身上,那人沒什么事,卻把你震傷了,你還怎么打。同樣兩者也是相輔相成的,內(nèi)功深厚之后,原來普通的一招一式威力也會(huì)倍增。
對(duì)于搞開發(fā)的我們其實(shí)也是一樣,現(xiàn)在流行的框架越來越多,封裝的也越來越完善,各種框架可以搞定一切,幾乎不用關(guān)注底層的實(shí)現(xiàn),初級(jí)程序員只要熟悉基本的使用方法,便可以快速的開發(fā)上線;但對(duì)于高級(jí)程序員來講,內(nèi)功的修煉卻越發(fā)的重要,比如算法、設(shè)計(jì)模式、底層原理等,只有把這些基礎(chǔ)熟練之后,才能在開發(fā)過程中知其然知其所以然,出現(xiàn)問題時(shí)能快速定位到問題的本質(zhì)。
對(duì)于Java程序員來講,spring全家桶幾乎可以搞定一切,spring全家桶便是精妙的招式,jvm就是內(nèi)功心法很重要的一塊,線上出現(xiàn)性能問題,jvm調(diào)優(yōu)更是不可回避的問題。因此JVM基礎(chǔ)知識(shí)對(duì)于高級(jí)程序員的重要性不必言語,我司在面試高級(jí)開發(fā)的時(shí)候,jvm相關(guān)知識(shí)也必定是考核的標(biāo)準(zhǔn)之一。本篇文章會(huì)根據(jù)之前寫的jvm系列文章梳理出jvm需要關(guān)注的所有考察點(diǎn)。
jvm 總體梳理
jvm體系總體分四大塊: