类⽂件由单个 ClassFile 结构组成:
Class⽂件字节码结构组织示意图
ClassFile {
u4 magic; //Class ⽂件的标志
u2 minor_version;//Class 的⼩版本号
u2 major_version;//Class 的⼤版本号
u2 constant_pool_count;//常量池的数量
cp_info constant_pool[constant_pool_count-1];//常量池
u2 access_flags;//Class 的访问标记
u2 this_class;//当前类
u2 super_class;//⽗类
u2 interfaces_count;//接⼝
u2 interfaces[interfaces_count];//⼀个类可以实现多个接⼝
u2 fields_count;//Class ⽂件的字段属性
field_info fields[fields_count];//⼀个类会可以有个字段
u2 methods_count;//Class ⽂件的⽅法数量
method_info methods[methods_count];//⼀个类可以有个多个⽅法
u2 attributes_count;//此类的属性表中的属性数
attribute_info attributes[attributes_count];//属性表集合
}