class Stage
{
Actor act1 = new Actor();
Actor act2 = new Actor();
Actor act3 = new Actor();
}
Stage stg = new Stage();
垃圾收集在这种情况下如何在java中运行?
stg = null;
创建的三个对象act1
,act2
和act3
是否也会收集垃圾?
答案 0 :(得分:1)
是。
当垃圾收集器运行时,它将看到对旧对象的引用消失,并将其清理干净。下次运行时,它会看到现在没有任何东西引用其他三个对象,并将它们清理干净。
从概念上讲,无论如何;我敢肯定,大多数垃圾收集者会比实际情况更聪明,并且一次性获得它们。确切的机制会有所不同。
答案 1 :(得分:0)
当每个对象的引用计数为0时,GC将全部收集它们。
答案 2 :(得分:0)
如果没有更多的引用,它们将是垃圾收集。不要忘记从外部删除附加的EventListener
因为它们也被视为参考(只要您不使用weak-reference
)。