У меня есть объект User
, который строго относится к объекту Data
.
Если я создам Map<Data, User>
(с Guava MapMaker
) со слабыми ключами, такой ключ будет толькоудаляется, если на него больше не ссылаются.Однако объект User, на который он отображается, всегда ссылается на него, который, в свою очередь, удаляется с карты только при удалении ключа данных, т. Е. Никогда, если только определение круговой ссылки GC также не работает при пересечении карты (надеюсь,Вы понимаете, что я имею в виду: P)
Будут ли сборщики мусора User
s + Data
s, если они больше не используются в другом месте приложения, или мне также нужно указать слабые значения?