方法一:
hexdump -C XXX.class
返回信息:ca fe ba be 00 00 00 34 .....
前几位"ca fe ba be"是固定的,后面34标识,当前class是JDK8编译的。
对照表:
Java SE 9 = 53 (0x35 hex),[3]
Java SE 8 = 52 (0x34 hex),
Java SE 7 = 51 (0x33 hex),
Java SE 6.0 = 50 (0x32 hex),
Java SE 5.0 = 49 (0x31 hex),
方法二
javap -verbose Xxxx (不要加.class)
返回信息头几行:major version: 52,标示当前class是JDK8编译的,对照表见上。
参考:
http://blog.sina.com.cn/s/blog_437ff56b0100r22z.html
https://en.wikipedia.org/wiki/Java_class_file
本文介绍了两种识别Java Class文件编译版本的方法。一种是使用hexdump命令查看Class文件的十六进制头部信息;另一种是利用javap命令的verbose选项获取Class文件的详细信息。文章还提供了不同Java版本对应的标识码,帮助读者快速确定Class文件的编译环境。
1495

被折叠的 条评论
为什么被折叠?



