gpt4 book ai didi

Java:垃圾收集的资格

转载 作者:行者123 更新时间:2023-11-30 07:06:15 25 4
gpt4 key购买 nike

如果之前有人问过这个问题,我深表歉意。

我有以下场景:

public class Distress{
private static Distress distressIns;

private MyFirstClass aClass;
private MySecondClass bClass;

private Distress(){
aClass = new MyFirstClass();
bClass = new MySecondClass();
}

///update: this is a singleton class
public static getIns(){
if (distressIns == null){
distressIns = new Distress();
}
return distressIns;
}

public static destroyIns(){
distressIns = null;
}
}

在上面的场景中,如果有人调用destroyIns()aClassbClass 是否也会变成null

最佳答案

没有。首先,某人可能持有对 distressIns 的引用(您的 getIns() 方法毕竟是公开的,因此可能有另一个对它的引用)。

其次,变量不会仅仅因为被垃圾收集而“变为空”。这些对象可能会或可能不会被垃圾回收,同样取决于是否存在另一个引用。

关于Java:垃圾收集的资格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25836763/

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