1. jvm是什么
JVM(Java Virtual Machine)是 Java 程序的運行環境,它是 Java 技術的核心組成部分,負責執行編譯后的 Java 字節碼(.class文件)。
jvm 說白了就是虛擬機,一個專門運行java字節碼文件的虛擬機。?
JVM?的主要特點包括:
平臺無關性:通過"一次編寫,到處運行"(Write Once, Run Anywhere)的理念,使Java程序可以在不同操作系統上運行
自動內存管理:提供垃圾回收機制(Garbage Collection)自動管理內存
安全性:提供沙箱安全模型,限制Java程序的權限
多語言支持:不僅支持Java,還支持Scala、Kotlin、Groovy等JVM語言
2. jvm的組成和運行流程
JVM主要由以下三個子系統組成:
1. 類加載子系統(Class Loader Subsystem)
負責加載、鏈接和初始化類文件
包含三種類加載器:
啟動類加載器(Bootstrap ClassLoader)
擴展類加載器(Extension ClassLoader)
應用程序類加載器(Application ClassLoader)
2. 運行時數據區(Runtime Data Areas)
方法區(Method Area):存儲類結構信息
堆(Heap):存儲對象實例
Java棧(Java Stack):存儲方法調用和局部變量
程序計數器(PC Register):記錄當前線程執行的位置
本地方法棧(Native Method Stack):支持本地方法執行
3. 執行引擎(Execution Engine)
解釋器(Interpreter):逐行解釋執行字節碼
即時編譯器(JIT Compiler):將熱點代碼編譯為本地機器碼
垃圾回收器(Garbage Collector):自動回收不再使用的內存
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?下一章