1. 程式人生 > >JVM之位元組碼指令簡介

JVM之位元組碼指令簡介

java虛擬機器的指令由一個位元組長度的、代表著某種特定操作含義的數字以及跟隨其後的零至多個代表此操作所需的引數而構成的。

位元組碼與資料型別

載入和儲存指令:

將資料在棧幀中的區域性變量表和運算元棧直間來回傳輸。

運算指令:

對兩個運算元棧上的值進行某種特定運算,並把結果重新存入操作棧頂。

型別轉換指令:

將兩種不同的數值型別進行互相轉換。

物件建立與訪問指令:new***

運算元棧管理指令:pop、dup、swap、

控制轉移指令:

方法呼叫和返回指令:

異常處理指令:

同步指令:使用管程(Monitor)來實現。通常使用指令集monitorenter、monitorexit這兩條指令來實現synchronized加鎖語義。虛擬機器從方法常量池的方法表結構中的ACC_SYNCHRONIZED訪問標誌來得知一個方法是否宣告為同步。當方法呼叫時呼叫指令就會檢查這個方法的ACC_SYNCHRONIZED訪問標誌是否被設定。