根据jvm规范,类文件的结构如下

左边对应的是每个标志所占的字节位数。
魔数
0~3字节,表示它是否是class类型的文件

版本
4~7字节,表示类的版本,此处的类的版本表示为java8

常量池
8~9字节,表示常量池长度,此处的常量池的长度为35项,从#1-#34项,#0项不计,这样做是为了满足某些指向常量池的索引值的数据在特定的情况下表达不引用任何一个常量池项

常量池项


0a为16进制,转换成10进制便是10,根据常量池表,0a表示这是一个method信息,0006和0015表示它引用了常量池中#6和#21项来获得这个方法的所属类和方法名


同理继续往后翻译后面的二进制class文件码
本文详细介绍了JVM类文件的结构,包括魔数、版本信息以及常量池的构成。通过实例解析了常量池中的各项数据,如method信息的表示方式,帮助读者深入理解Java字节码的本质。

被折叠的 条评论
为什么被折叠?



