JDK version和class file version(Class编译版本号)对应关系
·
JDK version和class file version(Class编译版本号)对应关系
JDK 23 = 67,
JDK 22 = 66,
JDK 21 = 65,
JDK 20 = 64,
JDK 19 = 63,
JDK 18 = 62,
JDK 17 = 61,
JDK 16 = 60,
JDK 15 = 59,
JDK 14 = 58,
JDK 13 = 57,
JDK 12 = 56,
JDK 11 = 55,
JDK 10 = 54,
JDK 9 = 53,
JDK 8 = 52,
JDK 7 = 51,
JDK 6.0 = 50,
JDK 5.0 = 49,
JDK 1.4 = 48,
JDK 1.3 = 47,
JDK 1.2 = 46,
JDK 1.1 = 45.0-45.6
可以使用下列的方式来查看:
使用文本编辑器EmEditor等以16进制方式打开.class文件,在魔数之后的就是次版本号和主版本号:
图中红框中的代表版本号52.0
次版本号:00 00 (小数点后面的部分)
主版本号:00 34 (小数点前面的部分)对应的10进制为52,对应的jdk版本为jdk8
各个版本的对应关系
JDK版本号 | Class版本号 | 16进制 |
---|---|---|
1.1 | 45.0 | 00 00 00 2D |
1.2 | 46.0 | 00 00 00 2E |
1.3 | 47.0 | 00 00 00 2F |
1.4 | 48.0 | 00 00 00 30 |
1.5 | 49.0 | 00 00 00 31 |
1.6 | 50.0 | 00 00 00 32 |
1.7 | 51.0 | 00 00 00 33 |
1.8 | 52.0 | 00 00 00 34 |
备注:
文件结构可以在JVM规范里查看,链接里是Java SE 23的版本
Chapter 4. The class File Format
其它jdk版本的话,更改下链接里的se后的值就行。
更多推荐
已为社区贡献3条内容
所有评论(0)