zoukankan      html  css  js  c++  java
  • 【Java】JDK/JVM相关工具

    1、JDK自带工具

      1)常见的用法参见:https://cloud.tencent.com/developer/article/1379487

      2)HSDB,即Hotspot debugger,位置在%JAVA_HOME%/lib/sa-jdi.jar

        可查看JVM运行时数据,包括已加载的字节码,命令:java -classpath "%JAVA_HOME%/lib/sa-jdi.jar" sun.jvm.hotspot.HSDB

        详情参见:https://blog.csdn.net/op_violet/article/details/79106457

              https://www.jianshu.com/p/24a80cb6d448

    2、对比工具

      jar包对比工具:https://github.com/siom79/japicmp

      jdk对比工具:https://github.com/AdoptOpenJDK/jdk-api-diff

    3、即时编译器JIT监视

      反汇编hsdis + jitwatch 

      用法参见:https://www.cnblogs.com/stevenczp/p/7975776.html

    4、反编译

      1)jad

      命令行工具

      反编译方法:jad -o -r -s java -d src classes/**/*.class   

      jad命令的参数含义如下:
             -o:覆盖旧文件,而且不用提示确认。
             -r:重新加载生成包结构。
             -s (java):定义输出文件的扩展名。jad为默认扩展名,我们反编译后当然是要.java源文件了。
             -d:输出文件的目录。src表示反编译后的所有文件都放在src目录下。
             classes/**/*.class:classes是需要反编译的文件夹的名字,整个表示classes目录下的所有class文件。你也可以写成这样**/*.class,这表示当前目录及其子目录下所有的class文件(包含所有的子目录)

      2)jd-gui

      GUI工具,偶尔编译会有点问题。

    5、监控调试工具

      1)JProfiler(非开源)

      2)阿里的arthas

      3)jvisualvm

      4)MAT

      5)BTrace

      

        

  • 相关阅读:
    bzoj violet系列 (2708~2725)
    bzoj4692: Beautiful Spacing
    896.Montonic Array
    56. Merge Intervals
    767. Reorganize String
    872. Leaf-Similar Trees
    使用Spring MVC开发RESTful API(续)
    690. Employee Importance
    429. N-ary Tree Level Order Traversal
    使用Spring MVC开发RESTful API
  • 原文地址:https://www.cnblogs.com/tigerhsu/p/10183579.html
Copyright © 2011-2022 走看看