Java虛擬機體系結構由幾部分組成?
Java虛擬機體系結構圖如下:Java虛擬機體系運作順序:
class文件通過類裝載子系統將信息存入運行時數據區(包括方法區、堆、Java棧、程序計數器、本地方法棧),執行引擎通過一定的規范去解釋執行。本地方法能通過執行引擎也能自己去調用運行時數據區。
Java虛擬機體系結構解釋:1) 類裝載器子系統
Classloader是JVM的一個子系統,用于加載類文件。
2) 方法區
方)區存儲每個類結構,例如運行時常量池,字段和方法數據,方法的代碼等
3) 堆
它是分配對象的運行時數據區。
4) Java棧
它保存局部變量和部分結果,并在方法調用和返回中起作用。每個線程都有一個私有JVM堆棧,同時創建線程。每次調用方法時都會創建一個新的框架。 框架在其方法調用完成時被銷毀。
5)程序計數器
程序計數器, 它包含當前正在執行的Java虛擬機指令的地址。
6)本地方法棧
它包含應用程序中使用的所有本地方法。
7)執行引擎
執行引擎包含:虛擬處理器,解釋器,JIT編譯器