JVM原理分析
阿新 • • 發佈:2020-10-19
JVM是Java Virtual Machine(Java虛擬機器)的縮寫,是在Java編譯器和作業系統平臺之間的虛擬處理器,JVM可以執行在各種作業系統平臺上,如Windows、Linux、Mac OS等。
JVM是Java平臺的核心和基礎,它是一種基於底層的作業系統和硬體平臺,並利用軟體方法來實現的抽象的虛擬處理系統,JVM負責解析和執行Java位元組碼程式。
1)JVM的執行原理
Java編譯器針對特定的JVM,生成JVM能理解的位元組碼檔案。Java原始檔經過編譯器的編譯,生成位元組碼檔案(.class檔案)。執行Java程式時,JVM將位元組碼檔案中的每一條指令翻譯成對應的機器碼,最後在對應的平臺上執行。
圖1 JVM的執行原理[1]
2)作業系統載入JVM的步驟
JVM是Java程式執行的容器,同時也是作業系統的一個程序,因此JVM有自己的執行生命週期,也有自己的程式碼和資料空間。
JVM在整個JDK中處於最底層,負責與作業系統的互動,用來遮蔽作業系統環境,提供一個完整的Java執行環境。作業系統裝入JVM是通過jdk中java.exe來完成,作業系統通過下面4步載入JVM:
建立JVM裝載環境和配置
裝載jvm.dll
初始化jvm.dll並掛接到JNIENV(JNI呼叫介面)例項
呼叫JNIEnv例項裝載並處理Class類:
載入.class檔案
管理並分配記憶體
執行垃圾收集
3) Java的平臺無關性
Java
轉載於:https://blog.51cto.com/williampany/1664184