深入理解 Java 虛擬機-第一部分 走進 Java 筆記
Sun/Oracle 公司研發的熱門虛擬機有三個:Classic VM / Exact VM / HotSpot VM
Classic VM : 基于句柄 (Handle) 的對象查找方式,需要外掛 JIT
Exact VM :優于 Classic VM ,使用了準確式內存管理(記錄內存中存儲的類型是地址還是數值),丟棄句柄,內置 JIT,支持熱點代碼探測(通過計數器找出有編譯價值的代碼,然后通過即時編譯器以方法為單位進行編譯,同時也可能觸發棧上替換編譯(OSR))。
HotSpot VM :與 Exact VM 基本一致的功能,因非技術原因從與 Exact VM 的競爭中獲得勝利。
BEA System 的 JRockit 虛擬機
專注于服務端的應用,不太關注程序啟動速度,所以內部不含解釋器實現,代碼全靠即時編譯器編譯執行。被 Oracle 收購后 于JDK 6 發布了最后一版并且停止更新。
IBM J9 虛擬機
由 IBM Otawa 實驗室的 SmallTalk 虛擬項目K8(因為曾經有個 8KB 常量定義引起的錯誤,很久后才解決,所以虛擬機叫 K8)拓展而來,支持 Java 語言所以命名為 J9。
J9 的定位與 HotSpot VM 類似,全面考慮服務端/桌面端/嵌入式,在 2016 年開源并更名為 OpenJ9。

浙公網安備 33010602011771號