我有一个内存泄漏的 Java 应用程序。我知道哪些对象在垃圾回收期间没有被释放,但我无法弄清楚是什么在引用它们。
JVM 内部持有的对象图是否有某种可见性?
是否有可能找出哪些对象引用了另一个对象?
最佳答案
在最基本的层面上,您可以使用命令 jhat 和 jmap 从正在运行的 Java 进程中读取堆文件,然后对其进行处理 - 它会在本地端口上启动一个小型 Web 服务器。它不是很容易阅读,但您不必购买分析器即可使用它。
关于java - 是否可以将 'see' 对象图用于垃圾收集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1238629/