Java版本对应关系表

该文章已生成可运行项目,

Java版本对应关系表

以下Java主要版本(Major Version)与公开大版本号的对应关系

公开大版本名称Major 版本号内部版本号格式示例(java -version输出)
Java 8 (1.8)52 (0x34)1.8.0_XXX1.8.0_301
Java 953 (0x35)9.0.X9.0.4
Java 1054 (0x36)10.0.X10.0.2
Java 11 (LTS)55 (0x37)11.0.X11.0.12
Java 1256 (0x38)12.0.X12.0.2
Java 1357 (0x39)13.0.X13.0.2
Java 1458 (0x3A)14.0.X14.0.2
Java 1559 (0x3B)15.0.X15.0.2
Java 1660 (0x3C)16.0.X16.0.2
Java 17 (LTS)61 (0x3D)17.0.X17.0.3
Java 1862 (0x3E)18.0.X18.0.2
Java 1963 (0x3F)19.0.X19.0.1
Java 2064 (0x40)20.0.X20.0.1
Java 21 (LTS)65 (0x41)21.0.X21.0.0

关键说明

  1. Major版本号的作用

    • 用于.class文件的兼容性标识。例如,Java 8生成的类文件Major版本号为52,Java 11为55。
    • JVM会根据Major版本号判断是否支持运行该.class文件(低版本JVM无法运行高版本类文件)。
  2. 版本命名规则的演变

    • Java 8及之前:使用1.x格式(如Java 8对应1.8.0)。
    • Java 9及之后:直接使用单个数字(如Java 9、11、17),并采用半年发布周期(非LTS版本仅提供6个月支持,LTS版本支持数年)。
  3. 如何查看当前Java版本

    java -version
    # 示例输出:
    openjdk version "21" 2023-09-19
    OpenJDK Runtime Environment (build 21+35-2513)
    OpenJDK 64-Bit Server VM (build 21+35-2513, mixed mode, sharing)
    

版本信息获取途径

  1. 官方文档

  2. 版本发布说明(Release Notes)

  3. Class文件版本号查询

    • 使用javap命令查看.class文件的Major版本号:

      javap -v DemoApplication.class | grep "major version"
        major version: 65
      # major version: 65 对应Java 21
      
  4. 第三方资源

注意事项

  • LTS(长期支持)版本:Java 8、11、17、21为LTS版本,企业环境中广泛使用,提供长期更新支持。
  • 兼容性问题:高版本Java编译的类文件无法在低版本JVM中运行(需通过-source-target参数指定兼容性)。
  • 版本号跳跃:Java 9的Major版本号为53,而非51(因历史原因跳过了Java 1.9的命名)。
本文章已经生成可运行项目
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值