Используется ли сборка мусора в языке программирования для сбора памяти кучи или ничего больше?

Используется ли сборка мусора в языке программирования для сбора памяти кучи или ничего больше?

Сборка мусора для утилизации объекта, который больше не используется, заключается в освобождении памяти кучи? Утечка памяти означает, что недостаточно места в памяти кучи для запуска программы? Так что то, что мы обычно говорим «недостаточно памяти», относится к «недостаточно памяти времени выполнения», которая является «памятью кучи»?

решение1

Сборка мусора обычно действительно относится к куче памяти.

Обратите внимание, что утечки памяти и ошибки нехватки памяти не являются синонимами. Утечка памяти — это ситуация, когда некоторая часть выделенной памяти (например, объект в ОО-языке) больше не нужна, но по какой-то причине не может быть освобождена/собрана (например, программист забыл очистить ссылку на нее). У
вас может быть утечка памяти, которая не вызывает ошибку нехватки памяти (если утечка достаточно мала), и вы можете получить такую ​​ошибку без утечки памяти (если вы законно пытаетесь выделить больше памяти, чем доступно процессу).

Связанный контент