一: class 文件是一组以8位字节为基础的二进制流。
二: class 文件格式
包含两种数据类型:
无符号数 : u1 ,u2,u4,u8 代表1个字节、2个字节、4个字节、8个字节的无符号数
表: _info 结尾来表示
包含以下数据项
1: 魔数 (判断是否可以被虚拟机支持)和 版本
2: 常量池 (最大的数据项,也是第一使用表类型数据项)
扫描二维码关注公众号,回复:
666713 查看本文章
常量池的容量: 技术不是从1,而是从0开始的
常量池主要放两个类常量: 字面量和符号引用
3: 访问标示
用于识别一些类或者接口层次的访问信息 : public 、 private 、abstract、final 等
4: 类,父类,接口,字段,方法,属性。
三、 字节吗指令:有一个操作码和操作数组成,代表着某些特殊的操作
指令都包含了其操作对应的数据类型信息。
指令分为下面种类:
1: 加载和存储指令 iload
2: 运数指令 iadd isub
3: 对象创建 new 检查类实列类型指令 instanceof
4: 类型转换指令
5:操作数栈指令 pop
6:控制指令 if
7: 方法调用和返回指令
8: 异常指令
9: 同步指令