/**/

I saw this list of major version numbers for Java in another post:

  • Java 1.2 uses major version 46
  • Java 1.3 uses major version 47
  • Java 1.4 uses major version 48
  • Java 5 uses major version 49
  • Java 6 uses major version 50
  • Java 7 uses major version 51
  • Java 8 uses major version 52
  • Java 9 uses major version 53
  • Java 10 uses major version 54
  • Java 11 uses major version 55
  • Java 12 uses major version 56
  • Java 13 uses major version 57
  • Java 14 uses major version 58
  • Java 15 uses major version 59
  • Java 16 uses major version 60
  • Java 17 uses major version 61

Where does this list come from? Is there a specific reference for this? Preferably something that shows minor versions too?

推荐答案

These come from the class version. If you try to load something compiled for java 6 in a java 5 runtime you'll get the error, incompatible class version, got 50, expected 49. Or something like that.

See here in byte offset 7 for more info.

Additional info can also be found here.

Java相关问答推荐

我如何在 Kotlin 中使用具有 .to 方法的 Java 库,因为它假定我的意思是使用中缀运算符来创建一对

列表的列表,父列表上有谓词过滤器,子列表上有另一个谓词过滤器

Java/Spring-boot:事务数据库更新问题

Android 开发上的自定义按钮

使用 Apache Commons 解决 CSV 文件中的无效数据

使用 instanceof 分隔 ArrayList 中的类

使用 mapstruct 从外部对象获取内部对象

如何使用 Streams 将嵌套集合中的值相加

if else 的顺序对性能有影响吗?例如把最可能的条件放在前面比较好

ASM 和 Javaagent 字节码检测:ClassFormatError: StackMapTable 格式错误:未初始化的偏移量错误

系统 Java 编译器的行为取决于 maven 中定义的依赖项

是用另一个被认为是线程安全的 java 对象引用替换一个 java 对象引用,还是我忽略了潜在的同步性问题?

奇数舍入逻辑

使用自定义 hashCode 的 HashSet

如何使用二维指针通过 JNA 调用 C 函数?

如何使用 Spring SAML2 禁用自动生成的页面 /login 和 /logout?

将每个语句放在 Eclipse 中新行的 if 子句中

如何使用 Stream API 将 Object 类型的实例映射到 Java 中的特定类

TreeSet 正在向 Set 添加重复值

如何在 Intellij 中关闭“将文件添加到 git”?