讓大牛帶你揭秘Java虛擬機:見證JVM設計原理與實現的真諦

文明需要創造,也需要傳承。JVM作為一款虛擬機,本身便是技術之集大成者,里面包含方方面面的底層技術知識。拋開如今Java如日中天之態勢不說,純粹從技術層面看,JVM也值得廣大技術愛好者深入研究。可以說,從最新的硬件特性,到最新的軟件技術,只要技術被證明是成熟的,都會在JVM里面見到其蹤影。

文章書內容總共分為10章的內容:第1章Java虛擬機概述、第2章Java執行引擎 工作原理:方法調用、第3章Java數據結構與面向對象、第4章Java字節碼實戰、第5章常量池解析、第6章類變量解析、第7章Java棧幀、第8章類方法解析、第9章執行引擎、第10章類的生命周期。

大家轉發關注小編,私信小編“學習”得到獲取方式吧!

JDK的每一次更新,從內部到核心類庫,JVM都會及時引人這些最新的技術或者算法,這便是技術傳承意義之所在。隨著云計算、大數據、人工智能等最新技術的發展,Java 技術生態圈也日益龐大,JVM與底層平臺以及與其他編程語言和技術的交互、交織日益深人,這些都離不開對JVM內部機制的深人理解。如果說以前在中間件與框架領域的大展身手,依靠的是Java語言層面的特性和技術,那么以后越來越多的技術紅利將會因JVM層面之創新而得以顯現。

被真相所蒙蔽,是一件痛苦的事。我們在一一個被層層封裝的世界里進行開發和設計,操作系統、各種中間件與框架,將底層世界隱藏得結結實實。我們一方面享受著高級編程語言所帶來的高效、穩定、快速的開發體驗,然而另-方面,卻又如同行走于黑暗之中。我們不知道路的下面是否有坑,即使有坑,可能也不知道如何排除。Java 的很多概念和技術,很多時候由于我們對底層機制的不了解,而讓我們感到十分高深莫測,無法知其全貌。這種感覺非常痛苦,尤其是技術修煉到一定階段的時候。

1-2

紙上得來終覺淺,絕知此事要躬行。即使從Java語言層面下探到JVM層面,但是若只囿于對JVM機制理論和概念上的理解,很多時候仍然覺得缺乏那種大徹大悟之感。計算機作為一門科學,與其他的科學領城-樣, 不僅需要對其理論的理解,也需要能夠去實證。例如愛因斯坦的相對論十分高深,但是通過對引力波和紅移的觀測,其變得形象和生動起來。

3-4

Java 的部分概念經過“口口相傳”,似有過于夸大其技術神秘性之嫌,讓人望而生畏。例如,與volatile關鍵字相關的內存可見性、指令亂序等概念,給人無比博大深奧的印象,但是如能拋開概念,直接看底層實現機制,并輔以具體的實驗論證,則會形成深刻而徹底的認知。其實,這世界本來就很簡單。在可觀測的實驗結果與可理解的底層機制面前,一切浮夸的概念都自然會現出原形。

因此,采用自底而上的技術研究之道,相比自頂而下的辦法,便多了更多窺透本質的自信和平實。同一個底層概念,在不同的高級編程語言里,在概念、叫法上很少能夠保持一致。采用自底而上的探索方法,能夠揭開各種深奧概念的神秘面紗,還原一個清明簡潔的世界。自然理解曲線也不會有大起大落。

6-7

研究JVM的過程,就是與大師們]進行精神溝通和心靈交流的過程,雖然過程會比較痛苦。研究諸如Linux、 JVM這樣的底層程序,你能學習到大師級的理念,更能夠見識到經無數牛人反復錘煉后的技術。天長日久的耳濡目染,終有一天你也會成為大師,你也會擁有大師級的眼光,你也會擁有開闊的胸懷。如同音樂家李健,人們如此喜歡他,并不僅僅是因為他歌唱得好,更多的是因為氣質。而這種氣質來自于博覽群書,來自于對藝術的長久修煉。計算機從某種程度上而言,也是一門藝術,工程師和程序員們要想進化,對計算機藝術的修煉必不可少。與大師進行精神溝通,不僅能夠修煉到計算機的藝術,更能直接感受并養成大師身上所具備的氣質。

9-10

我不知道Java還能走多遠,未來是否會被淘汰,但你不能因此就否定研究JVM的意義。JVM作為一款虛擬機,各種底層技術和理論都有涉及,若你能研究透徹,則能-通百通。例如,本人在研究過程中,也翻閱了諸如Python、JavaScript等高級面向對象語言虛擬機的機制,發現它們內部的整體思路都相差不大。同時, JVM本身在運行期干了- -部分C或C++語言編譯器所干的事,例如符號解析、鏈接、面向對象機制的實現等,通過對這些機制的分析,從來沒有研究過C/C++編譯器原理的我,基本也能夠猜出C/C++編譯器可能的實現方式,后來翻閱了相關資料,果不其然。理解編譯與虛擬機的實現機制是一方面, 另一方面,通過深挖JDK核心類庫的內部實現,則能夠深刻理解線程、并發、/0等比較高深的技術內幕。例如Java NIO,何謂VMA?何謂內核映射?若想真正徹底理解這些概念,不從底層人手,恐怕很難有一一個具象化的認知。

市面上JVM的書有很多,但是呢,小編認為這絕對是那最經典的那一本,得之幸之,相見恨晚!

大家轉發關注小編,私信小編“資料”得到獲取方式吧!

總之,研究JVM,是一件非常能夠提升開發者內功的事情,未來無論出現什么樣的新語言、新技術、新概念,你總是能夠不被表面的東西所迷惑,而是能夠透過層層封裝,看清事物的本質,你總是能夠以極低的學習成本,迅速理解新的東西。從一個更為廣闊的視角,使用發散的思維去看,不一定非要研究JVM才能有很大收獲,研究其他技術的底層,會有異曲同工之妙。

而只不過恰好生在了這個年代,這個Java語言大行其道的年代,所以就恰好對其做了一個比較深人的研究而已。工具有時空疆界,而技術思想則沒有,其總能穿越千萬年的時空,無限延伸。JVM涉及的知識面十分廣闊,因此限于篇幅,本書并未覆蓋JVM的全部內容。

總體而言,本書重點描述了JVM從啟動開始到完成函數執行的詳細機制,讀完本書相信你一定能夠明白JVM執行Java程序的底層機制,能夠明白JVM將Java語言一步步轉換為CPU可執行的機器碼的內部機制,以及為此而制定的各種規范的實現之道,例如oop-klass模型、堆棧分配模型.類加載模型等。

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,646評論 6 533
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,595評論 3 418
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,560評論 0 376
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,035評論 1 314
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,814評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,224評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,301評論 3 442
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,444評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,988評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,804評論 3 355
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,998評論 1 370
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,544評論 5 360
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,237評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,665評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,927評論 1 287
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,706評論 3 393
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,993評論 2 374

推薦閱讀更多精彩內容