class_file_struct

Class文件结构

  • Class文件是一组以8位字节为基础的二进制流,各个数据项目严格按照顺序紧凑的排列在Class文件中,中间没有添加任何分隔符,整个Class文件存储的内容几乎全部是程序运行的必要数据,没有空隙的存在
  • 当遇到8位字节以上的空间数据结构数据项时,则会按照高位在前的方式分割成若干个8位字节进行存储
  • Class文件中有俩种数据类型,无符号数和表
类型 名称 数量
u4 magic 1
u2 minor_version 1
u2 major_version 1
u2 constant_pool_count 1
cp_info constant_pool constant_pool_count-1
u2 access_flags 1
u2 this_class 1
u2 super_class 1
u2 interfaces_count 1
u2 interfaces interfaces_count
u2 fields_count 1
field_info fields fields_count
u2 methods_count 1
methods_info methods methods_count
u2 attributes_count 1
attribute_info attributes attributes_count