gpt4 book ai didi

java - OCJP考试垃圾回收

转载 作者:搜寻专家 更新时间:2023-11-01 02:27:19 25 4
gpt4 key购买 nike

给定:

public class GC {
private Object o;
private void doSomethingElse(Object obj) { o = obj; }
public void doSomething() {
Object o = new Object(); // line 5
doSomethingElse(o);
o = new Object(); // line 7
doSomethingElse(null);
o = null;
}
}

doSomething方法调用时,第5行创建的Object在哪一行之后执行变得可用于垃圾收集?

我认为答案应该在第 7 行之后..bt 答案在第 8 行之后..解释我哪里错了..

最佳答案

只有当一个对象变得不可访问时,它才能被垃圾回收。在第 7 行之后的代码中,您仍然可以通过 this.o 字段访问(到达)第 5 行创建的对象。

在第 8 行之后。this.o == null 因此在第 5 行创建的对象变得不可访问。

可达性规则:

关于java - OCJP考试垃圾回收,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18867530/

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