1、事先编译好一个class文件,如:TestVersion.class
2、使用UltraEdit或Editplus打开class文件,我这里使用的editplus,如图:
3、打开时Encoding选择Hex viewer,以16进制方式显示
4、打开文件的内容如下:
5、只看第一行数据,前面8个字节CA FE BA BE 是固定的,之后4个字节00 00 是次版本号,次版本号后面的4个字节00 33 是jdk的版本号,如我这里使用的是jdk1.7
jdk版本号对应关系如下:
版本号 | 对应十进制 | jdk版本号 |
---|---|---|
2E | 46 | jdk1.2 |
2F | 47 | jdk1.3 |
30 | 48 | jdk1.4 |
31 | 49 | jdk1.5 |
32 | 50 | jdk1.6 |
33 | 51 | jdk1.7 |
34 | 52 | jdk1.8 |
35 | 53 | jdk9 |
36 | 54 | jdk10 |
37 | 55 | jdk11 |
38 | 56 | jdk12 |
39 | 57 | jdk13 |