Да, может, именно так и работают слабые ссылки .Слабая ссылка - это корень, который ваш объект имеет для приложения, даже если у объекта могут быть другие сильные ссылки, важна ссылка root , и поскольку корневая ссылка является слабой ссылкой, объект будеткандидат на сборку мусора.
Для получения дополнительной информации см. документацию класса WeakReference
:
Слабые ссылочные объекты, которые не мешают созданию их ссылокфинализируемый, доработанный, а затем исправленный.Слабые ссылки чаще всего используются для реализации канонизирующих отображений.
Предположим, что сборщик мусора в определенный момент времени определяет, что объект слабо доступен.В это время он будет атомарно очищать все слабые ссылки на этот объект и все слабые ссылки на любые другие слабо достижимые объекты, из которых этот объект доступен через цепочку сильных и мягких ссылок.В то же время он объявит, что все ранее слабо достижимые объекты были завершены.В то же время или в более позднее время он будет ставить в очередь те недавно очищенные слабые ссылки, которые зарегистрированы в очередях ссылок.
FYI, наряду с WeakReference
, Java предлагает два других подкласса Reference
: SoftReference
и PhantomReference
.