• 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

     版本号对照表

    -------------------------------

    常记溪亭日暮,沉醉不知归路。兴尽晚回舟,误入藕花深处。争渡,争渡,惊起一滩鸥鹭。

    昨夜雨疏风骤,浓睡不消残酒。试问卷帘人,却道海棠依旧。知否?知否?应是绿肥红瘦。
  • 相关阅读:
    Java:day11
    Java:day10
    Java:day9
    Java:day8
    纯虚函数和抽象类
    C++的虚拟继承
    派生类构造函数、析构函数的定义和调用次序
    c++的继承方式——公有、保护、私有
    操作系统中系统调用的执行过程
    C++的类
  • 原文地址:https://www.cnblogs.com/htj10/p/15590379.html
Copyright © 2020-2023  润新知