『JDK工具之HSDB』查看JVM加载的class的字节码

JDK自带的工具,用于查看JVM运行时的状态。

  1. HSDB位于C:\Program Files\Java\jdk1.8.0_221\lib里面,接下来启动HSDB:
    (如果没有找到HSDB,没关系,Windows+R,输入 java -classpath “%JAVA_HOME%/lib/sa-jdi.jar” sun.jvm.hotspot.HSDB)

    『JDK工具之HSDB』查看JVM加载的class的字节码

  2. 查看JVM PID(Windows+R)输入jps,找到正在运行的类
    『JDK工具之HSDB』查看JVM加载的class的字节码

  3. File->Attach to Hotspot Process, 输入JVM PID
    『JDK工具之HSDB』查看JVM加载的class的字节码
    『JDK工具之HSDB』查看JVM加载的class的字节码

  4. 断点调试代码,获取代理对象类名
    『JDK工具之HSDB』查看JVM加载的class的字节码

  5. 根据代理类名在JVM中查看class
    『JDK工具之HSDB』查看JVM加载的class的字节码

  6. Class生成
    点击查找出来的class,再点击【Create .class File】,此操作会在本地生成一个class文件『JDK工具之HSDB』查看JVM加载的class的字节码

  7. class反编译
    默认生成的class文件在c盘,C:\Users\Lu\com\sun\proxy$Proxy18.class,仔细看下,生成路径它是根据包名生成相应的目录
    class文件用jd-gui.exe反编译工具编译不成功。
    那就直接复制粘贴到idea中,target/class目录下,让idea去反编译
    『JDK工具之HSDB』查看JVM加载的class的字节码

以上只是怎么打开和使用,HSDB的具体作用详解,请期待接下来的博客。