JVM 是 Java 跨平台的基石,將 `.class` 位元碼解釋/編譯為機器碼執行。本文系統梳理 JVM 規範核心組件。
基本型別:`byte/short/int/long`(二補數)、`float/double`(IEEE 754)、`char`(Unicode)。`boolean` 以 `int`/`byte[]` 表示。引用型別:`object`(4 位參考)、`returnAddress`(jsr/ret 用)。
`.class` 檔包含魔數、版本、常數池、存取旗標、欄位/方法表、屬性表。嚴格規範確保跨平台一致性。
早期 `picoJava`/`microJava`/`ultraJava` 嘗試硬體執行位元碼,現代則依賴 JIT 即時編譯器(C1/C2/Graal)將熱點編譯為原生碼,配合逃逸分析、內聯、標量替換等優化,效能逼近 C++。