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