二、方法计数器
方法计数器的值为 00 03 , 说明有 3 33 个方法 ;
三、方法表数据解析 ( init 构造方法 )
这是字节码 附加信息 中的构造方法数据 :
public Student(); descriptor: ()V flags: ACC_PUBLIC Code: stack=1, locals=1, args_size=1 0: aload_0 1: invokespecial #1 // Method java/lang/Object."<init>":()V 4: return LineNumberTable: line 1: 0
1、方法访问标志
access_flag ( 方法访问权限 ) : 方法计数器 后 的 2 22 字节 , 是 方发表中 第一个 method_info 方法信息的 方法访问标志 ;
00 01 表示该方法是 public 的 ;
方法访问标志 :
2、方法名称索引
name_index ( 方法名称索引 ) : 2 22 字节 , 00 07 表示常量表中的 #7 , 常量为 :
Constant pool: #7 = Utf8 <init>
<init> 方法指的是构造方法 ;
3、方法返回类型
descriptor_index ( 方法返回类型 ) : 2 22 字节 , 00 08 表示常量表中的 #8 , 常量为 :
Constant pool: #8 = Utf8 ()V
()V 方法的返回类型是 void , 没有返回类型 ;
4、方法属性数量
attributes_count ( 方法属性数量 ) : 2 22 字节 , 00 01 表示方法属性数量 1 11 个
如果该方法的属性数量不为 0 00 , 则之后的数据就是属性表数据 ;