Я пытаюсь понять класс ReferenceQueue.
Этот экземпляр является необязательным аргументом конструктора для SoftReference и WeakReference и обязательным аргументом для PhantomReference.
Согласно прочитанной мной информации, я могу написать несколько тезисов
для метода PhantomReference get всегда возвращает значение null
для фантомных ссылок:
gc обнаруживает, что объект может быть удален из памяти
ссылка на объект, помещенный в ReferenceQueue
когда мы вызываем очистку или ссылку на ссылку из очереди, становится недоступной, и gc видит, что
finalize вызывает методы
свободная память
для слабых/мягких ссылок:
gc обнаруживает, что объект может быть удален из памяти
вызывает методы завершения
свободную память
ссылку на объект, помещенный в очередь
Когда мне следует передать второй аргумент ссылочному конструктору?
Какую помощь я могу получить?
Почему у PhantomReference нет конструктора без ReferenceQueue?
Какова причина использования ReferenceQueue, методы получения которого всегда возвращают значение null?
Я пытаюсь понять класс ReferenceQueue. Этот экземпляр является необязательным аргументом конструктора для SoftReference и WeakReference и обязательным аргументом для PhantomReference. Согласно прочитанной мной информации, я могу написать несколько тезисов [list] [*]для метода PhantomReference get всегда возвращает значение null
[*][b]для фантомных ссылок:[/b] [list] gc обнаруживает, что объект может быть удален из памяти [*]ссылка на объект, помещенный в ReferenceQueue
когда мы вызываем очистку или ссылку на ссылку из очереди, становится недоступной, и gc видит, что [*]finalize вызывает методы [*]свободная память [/list] [b]для слабых/мягких ссылок:[/b] [list] [*]gc обнаруживает, что объект может быть удален из памяти [*]вызывает методы завершения [*]свободную память [*]ссылку на объект, помещенный в очередь [/list]
[/list] [list] [*]Когда мне следует передать второй аргумент ссылочному конструктору? [*]Какую помощь я могу получить? [*]Почему у PhantomReference нет конструктора без ReferenceQueue? [*]Какова причина использования ReferenceQueue, методы получения которого всегда возвращают значение null? [/list]