美文网首页
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版本是否一致。

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

相关文章

  • 手把手教你撸一个Mini JVM系列(2)之解析Class Fi

    引子: 前面已经解析了一个class文件的魔数和class文件的版本号, 这篇文章重点要解析的就是class文件中...

  • Class文件版本号

    紧接着魔数的4个字节存储的是Class文件的版本号。同样也是4个字节。第5个和第6个字节所代表的含义就是编译的副版...

  • Java程序运行原理

    编译生成.class字节码文件 class文件内容版本号访问控制标志常量池构造方法自定义方法指令(参照指令表) J...

  • class结构

    开头是4位魔数,代表文件类型,class文件是0xCAFEBABE,占4位字节;随后是次版本号,和主版本号,分别占...

  • 201019:现场class文件不生效-Linux重启Tomca

    一. 现场部署项目class文件不生效 包的文件夹路径不要遗漏或者出错。 节点是多个,没有全部覆盖 版本号要对应 ...

  • Class文件结构全面解析(下)

    接上回书 书接上一回,分享了Class文件的主要构成,同时也详细分析了魔数、次版本号、主版本号、常量池集合、访问标...

  • 版本号工具类

    public class VersionUtils { /** * 获取本地软件版本号 * * ...

  • ClassLoder学习笔记

    ClassLoder 负责加载class文件,class文件在文件开头有特定的文件标识,将class文件字节码内容...

  • Java类装载器

    一、负责加载class文件,class文件在文件开头有特定的文件标示,并且ClassLoader只负责class文...

  • 依据class文件查看编译的JDK版本号

    一、可以使用java自带的工具,查看 class编译时使用的编译器版本 $ javap -v ServiceImp...

网友评论

      本文标题:Class文件版本号

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