垃圾收集的对象诱饵



我有这种情况。在Example的main方法中的行c = null;之后,Collar对象会成为垃圾收集的诱饵吗?

Example.java是:

class Example{
    public static void main(String[] args){
        Collar c = new Collar();
        Kit k = new Kit(c);
        c = null;
        //more code to keep the program running
    }
}

Kit.java是:

class Kit{    
    Collar kit_col;
    public Kit(Collar col){
        kit_col = col;
    }
}

Collar.java是:

class Collar{
    public Collar(){
        //nothing here
    }
}

如果您有一个对Kit实例的引用,而Kit实例有一个到Collar实例的参考,那么这两个都不能被垃圾回收。您基本上仍然可以同时引用这两者。

最新更新