如果实例变量仍有引用,Java GC 是否会销毁对象?
2022-09-03 06:15:44
我已经在网上阅读了一些Java垃圾回收指南,但我仍然有点不清楚,并希望确保我的代码中没有内存泄漏。
Java GC 是否收集丢失其引用的对象,但其变量仍有引用?
假设我有一些对象:
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活着吗?(我假设是这样;只是想确保)。谢谢!