假设我已经捕获了2个正在运行的VM的hprof快照:
jmap -dump:format=b,file=a.hprof <pid>
jmap -dump:format=b,file=b.hprof <pid>
现在,快照已被截取得足够近,以确保它们之间根本没有垃圾收集(甚至是次要的垃圾收集)。
我已经在JProfiler中用比较快照打开了2个,并且有+26,911个java.lang.String实例。
我的问题是:如何查看其中某些字符串的字符内容?由于快照来自同一JVM,因此查看字符串值是什么,将为我提供有关其来源的信息。
在VisualVM中,您可以选择“在实例视图中显示”,它允许您查看500个组中的所有实例,但是我希望在JProfiler中获得更高级的功能,该功能允许您列出b中多余的26,911个实例.hprof(即使处于参考级别,因此,即使有GC,并且有东西在四处移动,它仍会被报告为多余,但这没关系)。