我通过在 jconsole 中调用com.sun.management.HotSpotDiagnostic MXBean 的dumpHeap操作手动执行了堆转储。所以我得到了一个转储文件。
我的问题: jconsole 可以读取转储文件吗?如果没有,哪个工具可以读取它?谢谢!
编辑:现在我知道 jconsole 不提供读取功能,我想知道为什么 jconsole 只写入没有读取功能的转储文件。(这不是我的问题,我只是好奇)
我找到了一个 Eclipse 插件Memory Analyzer来自己读取转储文件。其他工具仍然受欢迎。
您可以使用 JDK 1.5 及更高版本附带的 jvisualvm.exe。它存在于JDK的bin文件夹中。这是一个非常好的工具,甚至可以用来分析正在运行的 Java 应用程序。您甚至可以使用JProfiler来读取堆转储文件。但是这个软件是授权的。