java 常用的字节码指令集

本文为《Java字节码指令集》的备份,详述了Java中常用的字节码指令,旨在方便日后查阅。
摘要由CSDN通过智能技术生成

前言

文章转自:https://blog.csdn.net/github_35983163/article/details/52945845

以防哪天找不到了,就自己做了个备份。

常用字节码指令集

常量入栈指令

指令码

操作码(助记符)

操作数

描述(栈指操作数栈)

0x01

aconst_null

 

null值入栈。

0x02

iconst_m1

 

-1(int)值入栈。

0x03

iconst_0

 

0(int)值入栈。

0x04

iconst_1

 

1(int)值入栈。

0x05

iconst_2

 

2(int)值入栈。

0x06

iconst_3

 

3(int)值入栈。

0x07

iconst_4

 

4(int)值入栈。

0x08

iconst_5

 

5(int)值入栈。

0x09

lconst_0

 

0(long)值入栈。

0x0a

lconst_1

 

1(long)值入栈。

0x0b

fconst_0

 

0(float)值入栈。

0x0c

fconst_1

 

1(float)值入栈。

0x0d

fconst_2

 

2(float)值入栈。

0x0e

dconst_0

 

0(double)值入栈。

0x0f

dconst_1

 

1(double)值入栈。

0x10

bipush

valuebyte

valuebyte值带符号扩展成int值入栈。

0x11

sipush

valuebyte1

valuebyte2

(valuebyte1 << 8) | valuebyte2 值带符号扩展成int值入栈。

0x12

ldc

indexbyte1

常量池中的常量值(int, float, string reference, object reference)入栈。

0x13

ldc_w

indexbyte1

indexbyte2

常量池中常量(int, float, string reference, object reference)入栈。

0x14

ldc2_w

indexbyte1

indexbyte2

常量池中常量(long, double)入栈。

 

局部变量值转载到栈中指令

指令码

操作码(助记符)

操作数

描述(栈指操作数栈)

0x19

(wide)aload

indexbyte

从局部变量indexbyte中装载引用类型值入栈。

0x2a

aload_0

 

从局部变量0中装载引用类型值入栈。

0x2b

aload_1

 

从局部变量1中装载引用类型值入栈。

0x2c

aload_2

 

从局部变量2中装载引用类型值入栈。

0x2d

aload_3

 

从局部变量3中装载引用类型值入栈。

0x15

(wide)iload

indexbyte

从局部变量indexbyte中装载int类型值入栈。

0x1a

iload_0

 

从局部变量0中装载int类型值入栈。

0x1b

iload_1

 

从局部变量1中装载int类型值入栈。

0x1c

iload_2

 

从局部变量2中装载int类型值入栈。

0x1d

iload_3

 

从局部变量3中装载int类型值入栈。

0x16

(wide)lload

indexbyte

从局部变量indexbyte中装载long类型值入栈。

0x1e

lload_0

 

从局部变量0中装载int类型值入栈。

0x1f

lload_1

 

从局部变量1中装载int类型值入栈。

0x20

lload_2

 

从局部变量2中装载int类型值入栈。

0x21

lload_3

 

从局部变量3中装载int类型值入栈。

0x17

(wide)fload

indexbyte

从局部变量indexbyte中装载float类型值入栈。

0x22

fload_0

 

从局部变量0中装载float类型值入栈。

0x23

fload_1

 

从局部变量1中装载float类型值入栈。

0x24

fload_2

 

从局部变量2中装载float类型值入栈。

0x25

fload_3

 

从局部变量3中装载float类型值入栈。

0x18

(wide)dload

indexbyte

从局部变量indexbyte中装载double类型值入栈。

0x26

dload_0

 

从局部变量0中装载double类型值入栈。

0x27

dload_1

 

从局部变量1中装载double类型值入栈。

0x28

dload_2

 

从局部变量2中装载double类型值入栈。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值