Java class文件第二个四字节分别是两个字节的minor_version和两个字节的major_version. JDK 1.1对应major_version是45, JDK 1.8对应版本为52 (0x34).
- hexdump demo.class
0000000 feca beba 0000 3400 1b00 000a 0005 090e
可以通过编译选项 -source xxx -target yyy将源代码按照xxx版本编译,目标class文件为yyy版本。
- javac -target 1.7 -source 1.7 demo.java
生成的class文件major_version就变成了0x33 (1.7版本)。
0000000 feca beba 0000 3300 1b00 000a 0005 090e
