如果a和b只互相引用,GC会收集它们吗?您能否帮忙解释一下原因或提供参考文档来解释该逻辑。非常感谢
是的,如果不存在更强烈的引用,它们将成为 GC 的候选者。
需要注意的是,并非任何强引用都会在内存中保存对象。这些必须是从垃圾收集根链接的引用。 GC 根是一类特殊的变量,包括:
- (任何线程的)堆栈上的临时变量
- 静态变量(来自任何类)
- JNI 本机代码的特殊引用
请参阅此文档(§ A.3.4 无法访问和 §A.4.2 具有弱引用的 GC 示例) http://java.sun.com/docs/books/performance/1st_edition/html/JPAppGC.fm.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)