這是一部從工作原理和工程實踐兩個維度深入剖析JVM的著作,是電腦領域公認的經典,繁體版在我國台灣地區也頗受歡迎。
自2011年上市以來,前兩個版本累計印刷36次,銷量超過30萬冊,兩家主要網絡書店的評論近90000條,內容上近乎零差評,是原創電腦圖書領域不可逾越的豐碑。
第3版在第2版的基礎上做了重大修訂,內容更豐富、實戰性更強:根據新版JDK對內容進行了全方位的修訂和升級,圍繞新技術和生產實踐新增逾10萬字,包含近50%的全新內容,並對第2版中含糊和錯誤的內容進行了修正。
全書一共13章,分為五大部分:
第一部分(第1章)走近Java
系統介紹了Java的技術體系、發展歷程、虛擬機家族,以及自己動手編譯JDK的方法,瞭解這部分內容能為學習JVM提供良好的指引。
第二部分(第2~5章)自動內存管理
詳細講解了Java的內存區域與內存溢出、垃圾收集器與內存分配策略、虛擬機性能監控與故障排除等與自動內存管理相關的內容,以及10餘個經典的性能優化案例和優化方法。
第三部分(第6~9章)虛擬機執行子系統
深入分析了虛擬機執行子系統,包括類文件結構、虛擬機類加載機制、虛擬機字節碼執行引擎,以及多個類加載及其執行子系統的實戰案例。
第四部分(第10~11章)程序編譯與代碼優化
詳細講解了程序的前、後端編譯與優化,包括前端的易用性優化措施,如對泛型、主動裝箱拆箱、條件編譯等內容的深入分析;以及後端的性能優化措施,如虛擬機的熱點探測方法、HotSpot 的即時編譯器、提前編譯器,以及各種常見的編譯期優化技術。
第五部分(第12~13章)高效並發
主要講解了Java實現高並發的原理,包括Java的內存模型、線程與協程,以及線程安全和鎖優化。
全書以實戰為導向,通過大量與實際生產環境相結合的案例分析和展示瞭解決各種Java技術難題的方案和技巧。