gpt4 book ai didi

java - 在java中,有没有办法检查一个对象如何仍然可以从垃圾收集根访问?

转载 作者:行者123 更新时间:2023-12-04 08:53:01 26 4
gpt4 key购买 nike

代码库有点复杂,所以我想知道是否有一个工具可以在运行时检查一个对象并确定 JVM 如何仍然认为这个对象是可达的。我正在使用 IntelliJ 进行开发,并且 IntelliJ 有一个内置的、相当简单的工具来在断点处停止时检查堆。在执行此操作时,我注意到在应用程序的生命周期中存在累积实例的对象类型。而且我相当确定该应用程序存在某种内存泄漏问题,因为它会随着您使用它的时间越长而变慢,并最终会引发 OutOfMemory 错误。
特别是,有一种对象类型我只希望在应用程序的整个生命周期中一次成为一个实例(可以创建新实例,但在发生这种情况时应该对旧实例进行垃圾回收)。但是,当我检查堆时,我看到此对象类型的多个实例正在累积。该类非常复杂,因此追踪仍在引用旧对象实例的内容会相当耗时。任何人都知道java中的工具或方法来弄清楚为什么不能收集这些对象?

最佳答案

JProfiler 有这样一个观点:您可以跟踪引用对象直到根。
它还有很多其他有用的调试 View ,所以我一直认为它物有所值。

关于java - 在java中,有没有办法检查一个对象如何仍然可以从垃圾收集根访问?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63995656/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com