类的二进制文件中的主要结构
无符号数和表
u1,u2,u4,u8。表由无符号数和表构成
魔数
1-4字节:确定文件是否可用。CAFEBABE
java版本号
5-8字节
常量池
占用class文件最大的数据项之一, 入口处有一项u2数据代表常亮的个数,从一开始计数。主要从房两类常量:字面量(如字符文本和final类型)和符号引用(类和接口的全名限定、字段名称和描述符、方法的名称和描述符)
访问标志
两个字节,这个类是class还是接口,是否是abstract,是public,private还是其他?
类索引、父类索引、接口索引集合
类索引是类的全名限定
父类索引只有一个,接口索引有多个
字段表集合
描述类或者接口中的声明的变量(private、public,final,volitile等信息)
方法表集合
访问标志、索引名称、描述符索引、属性表集合
网友评论