目錄
JVM規范的主要內容
1)字節碼指令集(相當于中央處理器CPU)
JVM指令分類
2)Class文件的格式
3)數據類型和值
4)運行時數據區
5)棧幀
6)特殊方法
7)類庫
JVM規范的主要內容
1)字節碼指令集(相當于中央處理器CPU)
Java虛擬機的指令由一個字節長度的、代表著某種特定操作含義的操作碼(opcode)以及跟隨其后的零至多個代表此操作所需參數的操作數(operand)所構成。虛擬機中許多指令并不包含操作數,只有一個操作碼。
操作碼一列中的T就跟泛型一樣,虛擬機根據不同的數據類型會把T替換掉,提供不同的指令。
JVM指令分類
1、加載和存儲指令? 2、算術指令? 3、類型轉換指令 4.操作數棧管理指令 5.控制轉移指令 6.方法調用和返回指令
2)Class文件的格式
3)數據類型和值
4)運行時數據區
5)棧幀
6)特殊方法
1、<init>:實例初始化方法,通過JVM的invokespecial指令來調用。
2、<clinit>:類或接口的初始化方法,不包含參數,返回void。
7)類庫
Java虛擬機必須要對一些Java類庫提供支持,否則這些類庫根本無法實現,比如下面這些:
1、反射 2、加載或創建類或接口,如ClassLoader 3、連接和初始化類和接口的類 4、安全,如security 5、多線程 6、弱引用 7、異常 8、虛擬機的啟動、加載、鏈接和初始化