gpt4 book ai didi

java - Java 中的循环引用

转载 作者:IT老高 更新时间:2023-10-28 20:33:23 30 4
gpt4 key购买 nike

给定一个以复杂、循环的方式相互引用的类实例的聚合:垃圾收集器可能无法释放这些对象吗?

我隐约记得这是过去 JVM 中的一个问题,但我认为这在几年前就已经解决了。然而,对 jhat 的一些调查显示,循环引用是我现在面临的内存泄漏的原因。

注意:我一直认为 JVM 能够解析循环引用并从内存中释放这些“垃圾岛”。但是,我提出这个问题只是为了看看是否有人发现了任何异常。

最佳答案

只有非常幼稚的实现才会有循环引用的问题。维基百科有一个很好的article关于不同的GC算法。如果您真的想了解更多,请尝试(亚马逊)Garbage Collection: Algorithms for Automatic Dynamic Memory Management . Java 从 1.2 开始就有一个很好的垃圾收集器,并且在 1.5 和 Java 6 中也有一个非常好的垃圾收集器。

改进 GC 的难点在于减少暂停和开销,而不是像循环引用这样的基本内容。

关于java - Java 中的循环引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/176745/

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