java 查看 class文件编译时使用的编译器版本
使用java自带的工具,查看 class编译时使用的编译器版本。
命令行:
$ javap -v ServiceImpl.class
或者
$ javap -verbose ServiceImpl.class
我们可以看一下 jdk版本和major version对应关系:
J2SE 8 = 52,
J2SE 7 = 51,
J2SE 6.0 = 50,
J2SE 5.0 = 49,
JDK 1.4 = 48,
JDK 1.3 = 47,
JDK 1.2 = 46,
JDK 1.1 = 45
由此,可以说明 ,依赖的jar包是经过jdk1.7 的编译器进行编译的。
-----
使用Notepad++打开要查看的class文件
在插件管理里面找到 HEX-Editor 这个插件,安装即可。
安装参考博客:https://blog.csdn.net/hong10086/article/details/76423268
,按快捷键 Ctrl+Alt+Shift+H 用16进制的方法查看。
只看第一行数据,前面8个字节CA FE BA BE 是固定的,之后4个字节00 00 是次版本号,次版本号后面的4个字节00 33 是jdk的版本号,如我这里使用的是jdk1.7
版本号对照表
-------------------------------
常记溪亭日暮,沉醉不知归路。兴尽晚回舟,误入藕花深处。争渡,争渡,惊起一滩鸥鹭。
昨夜雨疏风骤,浓睡不消残酒。试问卷帘人,却道海棠依旧。知否?知否?应是绿肥红瘦。