类文件是由那几部分组成的?
注意类文件内的所有值都为16进制
1. 首先是魔数(magic)
,长度为4
个字节,它是用来识别文件是否是Class文件格式的
2.第二个为副版本号或小版本号(minor_version)
长度为2
个字节,它与下面的大版本号是用来判断当前.Class文件的编译版本的.
3.第三个为主版本号或大版本号(major_version)
长度为2
个字节,它与上面的小版本号是用来判断当前.Class文件的编译版本的.
4. 第四个为常量池计数器(constant_pool_count)
,因为常量池的大小不是固定的,所以这边会用计数器来记录它的大小,长度为2
个字节.
5. 第五个为常量池表(constant_pool)
,这里因为它的大小不是固定的所以长度为n
个字节
6. 第六个为``
版本号对照表
常量结构和类型对照表