Код: Выделить всё
new PhantomReference(new Object(), null)
Насколько я понимаю, фантомные ссылки являются альтернативой методу Finalize(). После того, как ссылка появится в очереди, я могу выполнить некоторые дополнительные действия, а затем мне нужно запуститьclear().
Javadoc утверждает:
Можно создать фантомную ссылку с пустой очередью, но такая ссылка совершенно бесполезна: ее метод get всегда будет возвращать null и, поскольку у нее нет очереди, она никогда не будет поставлена в очередь.
Что значит, что она никогда не будет поставлена в очередь?
Насколько я понимаю, это означает, что после вызова Finalize ссылка не будет добавлена в очередь ссылок. Отсюда может следовать, что:
- Память объекта будет очищена сразу
- Память объекта не будет очищена вообще
Подробнее здесь: https://stackoverflow.com/questions/413 ... of-its-ref
Мобильная версия