类文件结构之二:访问标志、类索引、父类索引、接口索引集合、字段表集合、方法表集合

上一篇:类文件结构之一:魔数、版本号和常量池

1、直接看:

访问标志:
22  0xE9        0x0021   类/接口的访问标记,public,为类
类索引、父类索引、接口索引集合:
23  0xEB        0x000100030000 0x0001本类,0x0003父类,0x0000接口数为0(接口数不为0时,后面跟着接口索引)
字段表集合:
24  0xF1        0x0001  只有一个字段
25  0xF3     0x0002 0005 0006 0000 其中0002表示private,0005指向m,0006指向I

2、字段表的结构:

类型名称数量
u2access_flags1
u2name_index1
u2desciptor_index1
u2attributes_count1
attribute_infoattributesattributes_count

这里attributes_count=0,如果字段m为“private final int m = 3”,则存在ConstantValue的属性:
这里写图片描述

3、方法表字节码,方法表结果和字段表结构一样:

方法表集合:
24  0xFB        0x0002  有两个方法
25  0xFD     0x0001 0007 0008 0001 0009 其中0x0001public,0x0007指向<init>,0x0008指向()V,0x0001一个属性,0x0009指向Code(方法的字节码描述)

方法体里面的代码用Code属性表示,属性表是Class文件最具扩展性的数据项目

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值