如果堆上有两个相互引用的对象,但它们没有链接到任何引用变量,那么这些对象是否有资格进行垃圾回收?
是的,他们是。基本上,GC 从“已知根”(静态变量、所有线程中所有堆栈帧的局部变量)开始查找无法进行垃圾收集的对象。如果无法从根获取对象,则该对象符合收集条件。
编辑:汤姆指出了这一点,我认为值得将其纳入答案本身:
从技术上讲,静态变量不是
根 - 它们由类引用
由类加载器引用
由类引用
由对象引用,其中
由根引用引用。
差异可能是无关紧要的most时间,但很高兴知道:)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)