Day46-JVM字节码(魔数、版本号)

JVM字节码

  • 魔数
  • 版本号

使用javap -verbose命令分析一个字节码文件时,将会分析该字节码文件的魔数、版本号、常量池、类信息、类的构造方法、类中的方法信息、类变量与成员变量等信息。
Day46-JVM字节码(魔数、版本号)_第1张图片

Day46-JVM字节码(魔数、版本号)_第2张图片

魔数

所有的.class字节码文件的前4个字节都是魔数,魔数值为固定值:0xCAFEBABE。

咖啡宝贝cafebabe


版本号

魔数之后的的4个字节为版本信息,前2个字节表示minor version(次版本号),后2个字节是major version(主版本号)。这里的版本号为00 00 00 34,换算成是十进制,表示版本号为0,主版本号为52(52是JAVA8,51是JAVA7)。所以该文件版本号为1.8.0,可以通过-version来验证

你可能感兴趣的:(java技术,JVM字节码,jvm)