Java虛擬機器30個常用知識點之3 位元組碼指令

2021-09-12 17:38:38 字數 1150 閱讀 3615

1.位元組碼與資料型別

對於大部分與資料型別相關的位元組碼指令,它們的操作碼助記符中都有特殊的字元來表明專門為哪種資料型別服務;bs

ilfd

cabyte

short

intlong

float

double

char

reference

大部分指令不支援byte、short、char,沒有指令支援boolean,編譯器會將這4種型別在編譯期或執行期轉為int型別

2.載入和儲存指令

如:iload_0,istore_1,iconst_1,bipush,sipush,ldc_w,ldc2_w

3.運算指令

如:iadd,isub,imul,idiv,irem

4.型別轉換指令

寬化型別轉換:直接支援

窄化型別轉化:i2b,i2s,i2c

5.物件建立和訪問指令

如:new,newarray,anewarray,mutilanewarray;

getfield,putfield,getstatic,putstatic;

bastore,sastore,iastore,aastore;

arraylength,instanceof,checkcast

6.運算元管理指令

如:pop,dup,swap

7.控制轉移指令

如:ifeq,ifne,ifnull,tableswitch,lookupswitch,goto,jsr,ret

8.方法呼叫和返回指令

如:invokevirtual,invokeinte***ce,invokespecial,invokestatic,invokedynamic;

return,ireturn,lreturn,areturn

9.異常處理指令

如:athrow

10.同步指令

如:monitorenter,monitorexit

Java虛擬機器30個常用知識點之2 屬性表

1.屬性表通用格式 u2 屬性名索引 u4 屬性長度 u1 2.code屬性 u2 屬性名索引 u4 屬性長度 u2 max stack u2 max locals u4 code length u1 code u2 exception table length exception info u2 ...

java虛擬機器基礎概念

object obj new object softreferencesoftref new softreference obj 使用 softref.get 獲取軟引用所引用的物件 object objg softref.get 則為軟引用。用來描述一些還有用單並非必須的物件。軟引用關聯著的物件,...

Java虛擬機器的記憶體

一 棧的特點 1 棧描述的是方法執行的記憶體模型。每個方法被呼叫都會建立乙個棧幀 儲存區域性變數 運算元 方法出入口等 2 jvm為每個執行緒建立乙個棧,用於存放該執行緒執行方法的資訊 實際引數 區域性變數等 3 棧屬於執行緒私有,不能實現執行緒間的共享 4 棧的儲存特性是 先進後出,後進先出 5 ...