火车算法如何解决循环调用问题
这里就不讲火车算法的原理了。
火车算法是g1收集器使用的gc算法
D,E,C是需要相互调用的三个对象。除此之外没有其他引用。但是当算法执行扫描第一块内存时时,D有E的引用,E有c的引用,c有D的引用。D和E都会保留下来。当第二次扫描时,C也有D的引用而被保留下来.这样岂不是根本没回收到垃圾
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
可以参考下 渐进式地垃圾回收: 火车算法 中的内容
什么火车算法名词不太懂,在我看来这就是一个循环引用问题。在某些垃圾收集算法里面,循环引用的确会导致内存泄漏。