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