gpt4 book ai didi

java - 该对象什么时候有资格进行垃圾回收?

转载 作者:行者123 更新时间:2023-12-01 22:06:08 24 4
gpt4 key购买 nike

我有这段代码,但我对 Java 中的 Object o 何时有资格进行垃圾回收感到困惑。

    public class JustSo
{
public static void main(String[] args)
{
for(int i=0;i<4;i++)
{
Object o=new Object();
//o.doSomething();
}
System.out.println("DONE");
}
}

由于它位于循环(或任何与此相关的 block )内,因此它在循环结束时将变得合格,对吗?

但是我在一个可靠的开发者网站上找到了一个答案(不想透露在哪里),该网站说对象最早符合资格是在打印声明中。

请澄清。

最佳答案

当它超出范围时,即在 for 循环的每次迭代之后。当一个对象不再可访问时,它有资格进行垃圾回收,这种情况有两种情况发生。

  • 该对象不再有任何指向它的引用。
  • 对该对象的所有引用均已超出范围。

后一种情况是所讨论的对象的情况,并且该对象的引用在for循环之后超出了范围。在打印语句之前。

关于java - 该对象什么时候有资格进行垃圾回收?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32741393/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com