类文件结构


类的二进制文件中的主要结构

无符号数和表

u1,u2,u4,u8。表由无符号数和表构成

魔数

1-4字节:确定文件是否可用。CAFEBABE

java版本号

5-8字节

常量池

占用class文件最大的数据项之一, 入口处有一项u2数据代表常亮的个数,从一开始计数。主要从房两类常量:字面量(如字符文本和final类型)和符号引用(类和接口的全名限定、字段名称和描述符、方法的名称和描述符)

访问标志

两个字节,这个类是class还是接口,是否是abstract,是public,private还是其他?

类索引、父类索引、接口索引集合

类索引是类的全名限定

父类索引只有一个,接口索引有多个

字段表集合

描述类或者接口中的声明的变量(private、public,final,volitile等信息)

方法表集合

访问标志、索引名称、描述符索引、属性表集合

属性表集合

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容