Я читал некоторые из руководств по сборке мусора 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 в живых? (Я так полагаю, просто хотел убедиться). Спасибо!