我已经在线阅读了一些 Java 垃圾收集指南,但我仍然有点不清楚,并想确保我的代码中没有内存泄漏。
Java GC 是否收集丢失了引用的对象,但它的变量仍然有引用?
所以假设我有 SomeObject:
public class SomeObject {
public ObjectVar var;
public SomeObject() {
var = new ObjectVar();
}
}
我的代码:
SomeObject obj1 = new SomeObject();
SomeObject obj2 = new SomeObject();
obj2.var = obj1.var;
obj1 = null;
所以 obj1 的 var 有引用,但是 obj1 不再有任何引用。那么,GC 会破坏 obj1,但保持 var 存活吗?(我假设是这样;只是想确定一下)。谢谢!