目錄
對JVM的理解
JVM的架構組成
類加載系統
執行引擎
運行時數據區
垃圾收集系統
本地方法庫
對JVM的理解
JVM保證了Java程序的執行,同時也是Java語言具有跨平臺性的根本原因;Java源代碼通過javac等前端編譯器生成的字節碼計算機并不能識別,但是可以通過JVM中的類加載系統將字節碼加載到內存,再通過執行引擎系統將字節碼轉換為計算機能識別的機器指令,最后由計算機執行
JVM的架構組成
主要由類加載系統、執行引擎、運行時數據區、垃圾收集系統、本地方法庫組成
類加載系統
將字節碼數據加載進內存,該過程涉及到類加載器、類加載過程、雙親委派機制
執行引擎
將加載進內存中的字節碼數據通過解釋器和JIT即時編譯器轉換為計算機能識別的機器指令
運行時數據區
即運行時數據區,包含程序計數器、虛擬機棧、本地方法棧、堆、本地內存
垃圾收集系統
幫助開發者管理內存,是Java語言不用手動管理內存的原因,涉及到垃圾收集算法、垃圾收集器、GC調優
本地方法庫
Java語言調用其他語言,主要是通過C語言編寫的庫函數