美文网首页
Class文件版本号

Class文件版本号

作者: Shaw_Young | 来源:发表于2021-07-25 14:58 被阅读0次
    • 紧接着魔数的4个字节存储的是Class文件的版本号。同样也是4个字节。第5个和第6个字节所代表的含义就是编译的副版本号minor_version,而第7个和第8个字节就是编译的主版本号major_version。
    • 它们共同构成了class文件的格式版本号。譬如某个Class文件的主版本号为M,副版本号为m,那么这个Class文件的格式版本号就确定为M.m。
    • 版本号和Java编译器的对应关系如下表:
    主版本(十进制) 副版本(十进制) 编译器版本
    45 3 1.1
    46 0 1.2
    47 0 1.3
    48 0 1.4
    49 0 1.5
    50 0 1.6
    51 0 1.7
    52 0 1.8
    53 0 1.9
    54 0 1.10
    55 0 1.11
    • Java的版本号是从45开始的,JDK 1.1之后的每个JDK大版本发布主版本号向上加1.1之后的每个JDK大版本发布主版本号向上加1。
    • 不同版本的Java编译器编译的Class文件对应的版本是不一样的。目前,高版本的Java虚拟机可以执行由低版本编译器生成的Class文件,但是低版本的Java虚拟机不能执行由高版本编译器生成的Class文件。否则JVM会抛出java.lang.UnsurpportedClassVersionError异常。
    • 在实际应用中,由于开发环境和生产环境的不同,可能会导致该问题的发生。因此,需要我们在开发时,特别注意开发编译的JDK版本和生产环境中的JDK版本是否一致。

    梦想很模糊,去追,它会渐变清晰。青春励志,奋斗下去别放弃。

    相关文章

      网友评论

          本文标题:Class文件版本号

          本文链接:https://www.haomeiwen.com/subject/onzcmltx.html