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 |