【发布时间】:2014-11-24 15:04:12
【问题描述】:
代码示例:
public class Parent{
public void someMethod(){
//start of some sort of loop
Child child = new Child(this);
//do something
//replaces reference from old child to new child
child = new Child(this);
//repeats loop
}
}
public class Child{
Parent parent;
public Child(Parent parent){
this.parent = parent;
}
}
根据我对对象生命周期的理解,如果一个对象不再被引用,那么它将符合 gc 条件,例如当子引用更改为引用新的第二个子对象时。
但是,如果每个 Child 对象都具有对创建它的对象的引用,就像上面一样,一旦它不再被其父对象引用,它是否有资格在这种情况下进行 gc?
如果没有,我该如何写它呢?
【问题讨论】:
标签: java object garbage-collection