Собирает ли G C объект без ссылочной переменной, даже если объект хранится в HashMap с ключом id? - PullRequest
0 голосов
/ 28 мая 2020

Учтите следующее: я создаю новые экземпляры класса и помещаю их в HashMap с уникальными ключами. Для каждого нового экземпляра ссылочная переменная остается неизменной (т.е. просто указывает на новый объект вместо старого). Мой вопрос: служат ли ключи достаточно хорошей ссылкой, чтобы G C не собирал объекты без ссылочных переменных внутри HashMap? Или, может быть, ссылки HashMap достаточно, чтобы объекты внутри были защищены от G C? Когда в этом случае собирает G C?

1 Ответ

0 голосов
/ 28 мая 2020

Короткий ответ: нет, он не будет собран.

Более длинный ответ: пока объект сильно достижим, он не будет собран. Не имеет значения, доступен ли он только косвенно (через HashMap).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...