> -- Galkov писал(а):
> Направьте на путь истинный, пожалуйста.GC в ББ так не работает. То, что вы описали - это методика повторного использования (кэширования) объектов, которую иногда бывает целесообразно применять, но делается это обычно явным образом, осознанно, и только для некоторых заранее известных типов объектов. GC же в общем случае не знает, какого размера объект потребуется вашему алгоритму в следующий момент (такого же типа/размера, как A, или другого), равно как и не знает он со 100% достоверностью, что вы не сохранили куда-нибудь ссылочку на тот или иной объект до лучших времён: счётчика ссылок здесь нет. Память под все NEW объекты выделяется заново из имеющегося свободного пространства. Только когда и если свободного места не осталось, производится поиск и удаление ненужных объектов (т.е. тех, на которые нет прямых или косвенных ссылок из глобальных переменных или стека).