火车算法如何解决循环调用问题

发布于 2022-09-07 08:50:09 字数 254 浏览 18 评论 0

这里就不讲火车算法的原理了。
火车算法是g1收集器使用的gc算法

clipboard.png

D,E,C是需要相互调用的三个对象。除此之外没有其他引用。但是当算法执行扫描第一块内存时时,D有E的引用,E有c的引用,c有D的引用。D和E都会保留下来。当第二次扫描时,C也有D的引用而被保留下来.这样岂不是根本没回收到垃圾

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

少女七分熟 2022-09-14 08:50:09

可以参考下 渐进式地垃圾回收: 火车算法 中的内容

自此以后,行同陌路 2022-09-14 08:50:09

什么火车算法名词不太懂,在我看来这就是一个循环引用问题。在某些垃圾收集算法里面,循环引用的确会导致内存泄漏。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文