JVM 指令助記符

2021-08-02 04:57:51 字數 4603 閱讀 7514

iconst_m1

iconst_0

iconst_1

iconst_2

iconst_3

iconst_4

iconst_5

lconst_0

lconst_1

fconst_0

fconst_1

dconst_0

dconst_1

bipush

sipush

ldc

ldc_w

ldc2_w

lload

fload

dload

aload

iload_0

iload_1

iload_2

iload_3

lload_0

lload_1

lload_2

lload_3

fload_0

fload_1

fload_2

fload_3

dload_0

dload_1

dload_2

dload_3

aload_0

aload_1

aload_2

aload_3

iaload

laload

faload

daload

aaload

baload

caload

saload

lstore

fstore

dstore

astore

istore_0

istore_1

istore_2

istore_3

lstore_0

lstore_1

lstore_2

lstore_3

fstore_0

fstore_1

fstore_2

fstore_3

dstore_0

dstore_1

dstore_2

dstore_3

astore_0

astore_1

astore_2

astore_3

iastore

lastore

fastore

dastore

aastore

bastore

castore

sastore

pop

pop2

dup

dup_x1

dup_x2

dup2

dup2_x1

dup2_x2

swap

i2f

i2d

l2i

l2f

l2d

f2i

f2l

f2d

d2i

d2l

d2f

i2b

i2c

i2s

ladd

- 執行long型別的加法

isub

- 執行int型別的減法

lsub

- 執行long型別的減法

imul

lmul

idiv

ldiv

irem

lrem

ineg

lneg

iinc

lshl

ishr

lshr

iushr

lushr

land

ior

lor

ixor

lxor

dadd

fsub

dsub

fmul

dmul

fdiv

ddiv

frem

drem

fneg

dneg

checkcast

getfield

putfield

getstatic

putstatic

instanceof

anewarray

arraylength

multianewarray

ifne

iflt

ifge

ifgt

ifle

if_icmpcq

if_icmpne

if_icmplt

if_icmpge

if_icmpgt

if_icmple

ifnull

ifnonnull

if_acmpeq

if_acmpnc

fcmpl

fcmpg

dcmpl

dcmpg

goto_w

lookupswitch

jsr

jsr_w

rct

invokcvirtual

invokespecial

invokestatic

invokcinte***ce

ireturn

lreturn

freturn

dreturn

areturn

return

monitorexit

變數到運算元棧:iload,iload_,lload,lload_,fload,fload_,dload,dload_,aload,aload_運算元棧到變數:istore,istore_,lstore,lstore_,fstore,fstore_,dstore,dstor_,astore,astore_常數到運算元棧:bipush,sipush,ldc,ldc_w,ldc2_w,aconst_null,iconst_ml,iconst_,lconst_,fconst_,dconst_加:iadd,ladd,fadd,dadd減:isub,lsub,fsub,dsub乘:imul,lmul,fmul,dmul除:idiv,ldiv,fdiv,ddiv餘數:irem,lrem,frem,drem取負:ineg,lneg,fneg,dneg移位:ishl,lshr,iushr,lshl,lshr,lushr按位或:ior,lor按位與:iand,land按位異或:ixor,lxor型別轉換:i2l,i2f,i2d,l2f,l2d,f2d(放寬數值轉換)i2b,i2c,i2s,l2i,f2i,f2l,d2i,d2l,d2f(縮窄數值轉換)

建立類實便:new建立新陣列:newarray,anewarray,multianwarray訪問類的域和類例項域:getfield,putfield,getstatic,putstatic把資料裝載到運算元棧:baload,caload,saload,iaload,laload,faload,daload,aaload從運算元棧存儲存到陣列:bastore,castore,sastore,iastore,lastore,fastore,dastore,aastore獲取陣列長度:arraylength檢相類例項或陣列屬性:instanceof,checkcast運算元棧管理:pop,pop2,dup,dup2,dup_xl,dup2_xl,dup_x2,dup2_x2,swap有條件轉移:ifeq,iflt,ifle,ifne,ifgt,ifge,ifnull,ifnonnull,if_icmpeq,if_icmpene, if_icmplt,if_icmpgt,if_icmple,if_icmpge,if_acmpeq,if_acmpne,lcmp,fcmpl fcmpg,dcmpl,dcmpg復合條件轉移:tableswitch,lookupswitch無條件轉移:goto,goto_w,jsr,jsr_w,ret排程物件的實便方法:invokevirtual呼叫由介面實現的方法:invokeinte***ce呼叫需要特殊處理的例項方法:invokespecial呼叫命名類中的靜態方法:invokestatic方法返回:ireturn,lreturn,freturn,dreturn,areturn,return異常:athrowfinally關鍵字的實現使用:jsr,jsr_w,ret

JVM指令助記符

以下只是jvm指令助記符,關於jvm指令的詳細內容請閱讀 jvm指令詳解 變數到運算元棧 iload,iload lload,lload fload,fload dload,dload aload,aload 運算元棧到變數 istore,istore lstore,lstore fstore,fs...

JVM指令助記符

以下只是jvm指令助記符,關於jvm指令的詳細內容請閱讀 jvm指令詳解 變數到運算元棧 iload,iload lload,lload fload,fload dload,dload aload,aload 運算元棧到變數 istore,istore lstore,lstore fstore,fs...

JVM指令助記符

以下只是jvm指令助記符,關於jvm指令的詳細內容請閱讀 jvm指令詳解 變數到運算元棧 iload,iload lload,lload fload,fload dload,dload aload,aload 運算元棧到變數 istore,istore lstore,lstore fstore,fs...