JVM的基本結構:類加載器、執行引擎、運行時數據區、本地方法接口;html
過程:class文件 ----> 類加載器 ----> 運行時數據區 -----> 執行引擎 ,本地接口-----> 本地方法庫。java
一、類加載器ClassLoader:jvm
負責加載class文件,class文件在文件開頭有特定的文件標識,而且ClassLoader只負責 class 文件的加載,至於class文件是否可以運行則由Execution Engine決定;類加載器介紹 spa
二、運行時數據區操作系統
JVM的內存區域,運行數據區是整個JVM的重點。咱們全部寫的程序都被加載到這裏,以後纔開始運行,Java生態系統如此的繁榮,得益於該區域的優良自治。3d
運行時數據區組成:程序計數器、java棧、本地方法棧、堆、方法區。 運行數據區介紹htm
三、Execution Engine 執行引擎blog
Execution Engine 執行引擎負責解釋命令,提交操做系統執行。執行引擎是JVM的核心組成部分之一,任何JVM實現的核心是Execution Engine。執行引擎將java字節碼轉爲機器可以識別的機器碼,並調用機器的指令集進行計算等。不一樣JVM的執行效率很大程度上取決於它們各自實現的Execution Engine的好壞。接口
四、Native Interface 本地接口內存
Java本地接口是一個標準的JAVA API,它支持將Java代碼與其餘語言編寫的代碼相集成。