1.无关性基石
虚拟机和字节码存储格式
2. Class类文件的结构
2.1) 定义
Class文件是一组以8字节为基础单位的二进制流
2.2)Class文件格式:类似于C语言结构体的伪结构存储
两种数据类型
无符号数
u1,u2,u4,u8
表
_info结尾
某一类型的“集合”
2.3) 魔数与Class文件的版本
魔数
定义:每个Class文件的头4个字节被称为“魔数”(magic number)
作用:确定是否被虚拟机接收的class文件
值:0xCAFEBABE (咖啡宝贝)
版本号
Minor Version 次版本号,第5,6字节
Major Version 主版本号,第7,8字节
常量池
喻为资源仓库
计数是从1而不是0开始的
两大类常量
字面量(Literal)
符号引用(Symbolic References)
类的创建和动态连接
17种常量类型(JDK 13)
CONSTANT_Integer_info等
分析Class文件字节码工具 javap
访问标志
access_flags
ACC_PUBLIC等(6个)
类索引,父类索引和接口索引集合
类索引(this_class)父类索引(super_class)接口索引集合(interfaces)
确定该类型的继承关系
字符表集合
描述符标识字符含义
网友评论