內容簡介
《揭秘Java虛擬機:JVM設計原理與實現》從源碼角度解讀HotSpot的內部實現機制,本書主要包含三大部分——JVM數據結構設計與實現、執行引擎機制及內存分配模型。數據結構部分包括Java字節碼文件格式、常量池解析、字段解析、方法解析。每一部分都給出詳細的源碼實現分析,例如字段解析一章,從源碼層面詳細分析了Java字段重排、字段繼承等關鍵機制。再如方法解析一章,給出了Java多態特性在源碼層面的實現方式。《揭秘Java虛擬機:JVM設計原理與實現》通過直接對源代碼的分析,從根本上梳理和澄清Java領域中的關鍵概念和機制。執行引擎部分包括Java方法調用機制、棧幀創建機制、指令集架構與解釋器實現機制。這一話題是《揭秘Java虛擬機:JVM設計原理與實現》技術含量高的部分,需要讀者具備一定的彙編基礎。不過千萬不要被“彙編”這個詞給嚇著,其實在作者看來,彙編相比於高級語言而言,語法非常簡單,語義也十分清晰。執行引擎部分重點描述Java源代碼如何轉換為字節碼,又如何從字節碼轉換為機器指令從而能夠被物理CPU所執行的技術實現。同時詳細分析了Java函數堆棧的創建全過程,在源碼分析的過程中,帶領讀者從本質上理解到底什麼是Java函數堆棧和棧幀,以及棧幀內部的詳細結構。內存分配部分主要包括類型創建與加載、對像實例創建與內存分配,例如new關鍵字的工作機制,import關鍵字的作用,再如java.lang.ClassLoader.loadClass()接口的本地實現機制。《揭秘Java虛擬機:JVM設計原理與實現》並不是簡單地分析源碼實現,而是在描述HotSpot內部實現機制的同時,分析了HotSpot如此這般實現的技術必然性。讀者在閱讀《揭秘Java虛擬機:JVM設計原理與實現》的過程中,將會在很多地方看到作者本人的這種思考。