Пример использования PhantomReferenceJAVA

Программисты JAVA общаются здесь
Anonymous
Пример использования PhantomReference

Сообщение Anonymous »

Насколько мне известно, ссылка попадает в ReferenceQueue, когда объект, на который указывает ссылка, удаляется.
Вот пример, где я собирался это продемонстрировать, но он не работает. Код внутри if никогда не выполнялся. Что это значит. Я использовал его неправильно? Или сборщик мусора во время выполнения не сработал?
public static void main (String[] arg) throws InterruptedException {
List names = Arrays.asList("Adam", "Eva");
ReferenceQueue q = new ReferenceQueue();
PhantomReference phantom = new PhantomReference(names, q);
names = null;
while(true){
PhantomReference ref2 = (PhantomReference)q.poll();
if(ref2 != null)
System.out.println(ref2.enqueue());
Thread.sleep(1000);
}
}


Подробнее здесь: https://stackoverflow.com/questions/342 ... mreference

Вернуться в «JAVA»