class文件结构

class文件的大致结构从前到后

名称用途大小补充说明
魔数(用来验证是不是虚拟机合适的class文件4字节因为后缀名可以随意改动,所以使用魔数也是出于安全的考虑
版本号(用来标识该class文件能够在哪个版本jdk运行)4字节前2字节是次版本号,后2字节是主版本号 版本高的jdk可以加载版本低的class文件
常量池(class文件的资源仓库)不定主要存放字面量和符号引用,字面量就是文本字符串和申明为final的常量,符号引用包括了类和接口的全限定名,字段名称和描述符。方法名称和描述符,常量池的容量计数从1开始。因为常量池0的位置用来存储常量池的容量
访问标志(定义是不是类,是不是public2字节就是判断一个class的访问标志,是否final,是否public
类索引确定本类的全限定名2字节
父类索引确定父类的全限定名2字节
接口索引计数器统计接口的数量2字节
接口索引集合接口们的全限定名接口计数器*2
字段表集合描述申明的变量包括类级变量实例变量不包括局部变量不定不会列出超类或父接口的继承的字段
方法表集合描述申明的方法包括访问标志,名称索引,描述符索引,属性表索引,属性表集合
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值