Это может быть очень наивный вопрос?Сбор мусора и незавершенный объект
Пусть у меня есть класс-то вроде этого
class SlowConstructor {
private final int a;
private final String unReachableString;
public SlowConstructor(String random) {
unReachableString = "I am not reachable will GC will collect me " + random;
Thread.sleep(1000*3600); // ignoring Exception check for readbility
a = 100;
Thread.sleep(1000*3600);
}
}
Итак, мой вопрос, если я создать многие объекты SlowConstructor (скажем 50 в дифф потоков) и, как вы можете видеть каждый конструктор займет два часа, чтобы закончить , Ссылка на String в SlowConstructor unReachableString недоступна из любого кода в течение двух часов. Если GC работает в течение этих двух часов, он не будет собирать unReachableString ref?. Я предполагаю, что это не будет сбор мусора, но почему? Откуда: unReachableString можно добраться?
Возможный дубликат: http://stackoverflow.com/questions/19896866/is-unused-object-available-for-garbage-collection-when-its-still-visible-in-sta – maaartinus
нет его не дублируется .. вопрос связан с возможностью GC для данных объектов, ссылка на которые еще не опубликована. – veritas
Согласен, и ответ дает понять. – maaartinus