Пример использования 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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