很多JVM的底層技術細節(jié)你是否只了解表面?
面對JVM Crash或性能調(diào)優(yōu)方面的問題時你是否會束手無策?
面對上層Java應用發(fā)生的偏離預期的行為是否會不知所措?
……
這本書以源碼分析為基礎,從運行時、垃圾回收器、即時編譯器3個維度全面、深入解析HotSpot VM的底層實現(xiàn)和工作機制,同時與上層的Java語言和庫結合,指導讀者解決JVM開發(fā)、JVM調(diào)優(yōu)和JVM排錯方面遇到的各種問題。
廣度與深度兼顧:廣度上涵蓋Graal VM、CDS、Instrumentation、編譯重放、非標準字節(jié)碼、RTM鎖、JIT調(diào)試工具、EpsilonGC/ShenandoahGC/ZGC、G1字符串去重等重要知識點;深度上深入解析了C1、C2、G1GC、ObjectMonitor、Mutex、模板解釋器等的底層實現(xiàn)。
全書共 11 章,參考 OpenJDK 社區(qū)的劃分方式來組織內(nèi)容,分為運行時、即時編譯器、垃圾回收器三個部分。
第壹部分(第1~6章) 運行時
首先,從Java生態(tài)系統(tǒng)的角度,簡單介紹了JDK、JVM、JEP、HotSpot VM、Graal VM,引導讀者快速進入Java虛擬機的世界;然后從源碼的角度深入解析了HotSpot VM的類可用機制、對象和類、運行時、模板解釋器和并發(fā)設施。
第二部分(第7~9章) 即時編譯器
首先重點介紹了即時編譯器技術、編譯理論、編譯器調(diào)試方法等編譯器的基礎知識;然后詳細講解了C1和C2兩個即時編譯器的實現(xiàn)原理、工作機制和優(yōu)化方法。
第三部分(第10~11章) 垃圾回收器
首先全面介紹了Epsilon GC、Serial GC、Parallel GC、CMS GC、G1 GC、Shenandoah GC、ZGC等各種垃圾回收器,然后重點剖析了G1 GC。
(1)作者是阿里云Java技術專家,熱衷于研究編程語言的設計與實現(xiàn),對Java虛擬機和編譯器都有較深入的研究。
(2)深入分析HotSpot VM的核心源碼,全面解析運行時、垃圾回收器、即時編譯器的實現(xiàn)原理和工作機制
(3)詳細描述虛擬機底層實現(xiàn),同時與上層Java應用和庫相結合,為JVM的開發(fā)、調(diào)優(yōu)和排錯指明方向