类加载与字节码技术

1.6 Method 信息
表示方法数量,本类为 2
0000660 29 56 00 21 00 05 00 06 00 00 00 00 00 02 00 01
一个方法由 访问修饰符,名称,参数描述,方法属性数量,方法属性组成
红色代表访问修饰符(本类中是 public
蓝色代表引用了常量池 #07 项作为方法名称
绿色代表引用了常量池 #08 项作为方法参数描述
黄色代表方法属性数量,本方法是 1
红色代表方法属性
00 09 表示引用了常量池 #09 项,发现是【 Code 】属性
00 00 00 2f 表示此属性的长度是 47
00 01 表示【操作数栈】最大深度
00 01 表示【局部变量表】最大槽( slot )数 00 00 00 05 表示字节码长度,本例是 5
2a b7 00 01 b1 是字节码指令
00 00 00 02 表示方法细节属性数量,本例是 2
00 0a 表示引用了常量池 #10 项,发现是【 LineNumberTable 】属性
00 00 00 06 表示此属性的总长度,本例是 6
00 01 表示【 LineNumberTable 】长度
00 00 表示【字节码】行号 00 04 表示【 java 源码】行号
00 0b 表示引用了常量池 #11 项,发现是【 LocalVariableTable 】属性
00 00 00 0c 表示此属性的总长度,本例是 12
00 01 表示【 LocalVariableTable 】长度
00 00 表示局部变量生命周期开始,相对于字节码的偏移量
00 05 表示局部变量覆盖的范围长度
00 0c 表示局部变量名称,本例引用了常量池 #12 项,是【 this
00 0d 表示局部变量的类型,本例引用了常量池 #13 项,是
Lcn/itcast/jvm/t5/HelloWorld;
00 00 表示局部变量占有的槽位( slot )编号,本例是 0
0000660 29 56 00 21 00 05 00 06 00 00 00 00 00 02 00 01
0000700 00 07 00 08 00 01 00 09 00 00 00 2f 00 01 00 01
0000720 00 00 00 05 2a b7 00 01 b1 00 00 00 02 00 0a 00
0000740 00 00 06 00 01 00 00 00 04 00 0b 00 00 00 0c 00
0000760 01 00 00 00 05 00 0c 00 0d 00 00 00 09 00 0e 00
红色代表访问修饰符(本类中是 public static
蓝色代表引用了常量池 #14 项作为方法名称
绿色代表引用了常量池 #15 项作为方法参数描述
黄色代表方法属性数量,本方法是 2
红色代表方法属性(属性 1
00 09 表示引用了常量池 #09 项,发现是【 Code 】属性
00 00 00 37 表示此属性的长度是 55
00 02 表示【操作数栈】最大深度
00 01 表示【局部变量表】最大槽( slot )数
00 00 00 05 表示字节码长度,本例是 9
b2 00 02 12 03 b6 00 04 b1 是字节码指令
00 00 00 02 表示方法细节属性数量,本例是 2
00 0a 表示引用了常量池 #10 项,发现是【 LineNumberTable 】属性
00 00 00 0a 表示此属性的总长度,本例是 10
00 02 表示【 LineNumberTable 】长度
00 00 表示【字节码】行号 00 06 表示【 java 源码】行号
00 08 表示【字节码】行号 00 07 表示【 java 源码】行号
00 0b 表示引用了常量池 #11 项,发现是【 LocalVariableTable 】属性
00 00 00 0c 表示此属性的总长度,本例是 12
00 01 表示【 LocalVariableTable 】长度 00 00 表示局部变量生命周期开始,相对于字节码的偏移量
00 09 表示局部变量覆盖的范围长度
00 10 表示局部变量名称,本例引用了常量池 #16 项,是【 args
00 11 表示局部变量的类型,本例引用了常量池 #17 项,是【 [Ljava/lang/String;
00 00 表示局部变量占有的槽位( slot )编号,本例是 0
0000760 01 00 00 00 05 00 0c 00 0d 00 00 00 09 00 0e 00
0001000 0f 00 02 00 09 00 00 00 37 00 02 00 01 00 00 00
0001020 09 b2 00 02 12 03 b6 00 04 b1 00 00 00 02 00 0a
0001040 00 00 00 0a 00 02 00 00 00 06 00 08 00 07 00 0b
0001060 00 00 00 0c 00 01 00 00 00 09 00 10 00 11 00 00
红色代表方法属性(属性 2
00 12 表示引用了常量池 #18 项,发现是【 MethodParameters 】属性
00 00 00 05 表示此属性的总长度,本例是 5
01 参数数量
00 10 表示引用了常量池 #16 项,是【 args
00 00 访问修饰符
0001100 00 12 00 00 00 05 01 00 10 00 00 00 01 00 13 00
0001120 00 00 02 00 14
1.6 Method 信息
表示方法数量,本类为 2
0000660 29 56 00 21 00 05 00 06 00 00 00 00 00 02 00 01
一个方法由 访问修饰符,名称,参数描述,方法属性数量,方法属性组成
红色代表访问修饰符(本类中是 public
蓝色代表引用了常量池 #07 项作为方法名称
绿色代表引用了常量池 #08 项作为方法参数描述
黄色代表方法属性数量,本方法是 1
红色代表方法属性
00 09 表示引用了常量池 #09 项,发现是【 Code 】属性
00 00 00 2f 表示此属性的长度是 47
00 01 表示【操作数栈】最大深度
00 01 表示【局部变量表】最大槽( slot )数 00 00 00 05 表示字节码长度,本例是 5
2a b7 00 01 b1 是字节码指令
00 00 00 02 表示方法细节属性数量,本例是 2
00 0a 表示引用了常量池 #10 项,发现是【 LineNumberTable 】属性
00 00 00 06 表示此属性的总长度,本例是 6
00 01 表示【 LineNumberTable 】长度
00 00 表示【字节码】行号 00 04 表示【 java 源码】行号
00 0b 表示引用了常量池 #11 项,发现是【 LocalVariableTable 】属性
00 00 00 0c 表示此属性的总长度,本例是 12
00 01 表示【 LocalVariableTable 】长度
00 00 表示局部变量生命周期开始,相对于字节码的偏移量
00 05 表示局部变量覆盖的范围长度
00 0c 表示局部变量名称,本例引用了常量池 #12 项,是【 this
00 0d 表示局部变量的类型,本例引用了常量池 #13 项,是
Lcn/itcast/jvm/t5/HelloWorld;
00 00 表示局部变量占有的槽位( slot )编号,本例是 0
0000660 29 56 00 21 00 05 00 06 00 00 00 00 00 02 00 01
0000700 00 07 00 08 00 01 00 09 00 00 00 2f 00 01 00 01
0000720 00 00 00 05 2a b7 00 01 b1 00 00 00 02 00 0a 00
0000740 00 00 06 00 01 00 00 00 04 00 0b 00 00 00 0c 00
0000760 01 00 00 00 05 00 0c 00 0d 00 00 00 09 00 0e 00
红色代表访问修饰符(本类中是 public static
蓝色代表引用了常量池 #14 项作为方法名称
绿色代表引用了常量池 #15 项作为方法参数描述
黄色代表方法属性数量,本方法是 2
红色代表方法属性(属性 1
00 09 表示引用了常量池 #09 项,发现是【 Code 】属性
00 00 00 37 表示此属性的长度是 55
00 02 表示【操作数栈】最大深度
00 01 表示【局部变量表】最大槽( slot )数
00 00 00 05 表示字节码长度,本例是 9
b2 00 02 12 03 b6 00 04 b1 是字节码指令
00 00 00 02 表示方法细节属性数量,本例是 2
00 0a 表示引用了常量池 #10 项,发现是【 LineNumberTable 】属性
00 00 00 0a 表示此属性的总长度,本例是 10
00 02 表示【 LineNumberTable 】长度
00 00 表示【字节码】行号 00 06 表示【 java 源码】行号
00 08 表示【字节码】行号 00 07 表示【 java 源码】行号
00 0b 表示引用了常量池 #11 项,发现是【 LocalVariableTable 】属性
00 00 00 0c 表示此属性的总长度,本例是 12
00 01 表示【 LocalVariableTable 】长度 00 00 表示局部变量生命周期开始,相对于字节码的偏移量
00 09 表示局部变量覆盖的范围长度
00 10 表示局部变量名称,本例引用了常量池 #16 项,是【 args
00 11 表示局部变量的类型,本例引用了常量池 #17 项,是【 [Ljava/lang/String;
00 00 表示局部变量占有的槽位( slot )编号,本例是 0
0000760 01 00 00 00 05 00 0c 00 0d 00 00 00 09 00 0e 00
0001000 0f 00 02 00 09 00 00 00 37 00 02 00 01 00 00 00
0001020 09 b2 00 02 12 03 b6 00 04 b1 00 00 00 02 00 0a
0001040 00 00 00 0a 00 02 00 00 00 06 00 08 00 07 00 0b
0001060 00 00 00 0c 00 01 00 00 00 09 00 10 00 11 00 00
红色代表方法属性(属性 2
00 12 表示引用了常量池 #18 项,发现是【 MethodParameters 】属性
00 00 00 05 表示此属性的总长度,本例是 5
01 参数数量
00 10 表示引用了常量池 #16 项,是【 args
00 00 访问修饰符
0001100 00 12 00 00 00 05 01 00 10 00 00 00 01 00 13 00
0001120 00 00 02 00 14
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值