Дом развитие Что такое сборка мусора (gc)? - определение из техопедии

Что такое сборка мусора (gc)? - определение из техопедии

Оглавление:

Anonim

Определение - Что означает сборщик мусора (GC)?

Сборка мусора (GC) - это динамический подход к автоматическому управлению памятью и выделению кучи, который обрабатывает и идентифицирует мертвые блоки памяти и перераспределяет хранилище для повторного использования. Основная цель сборки мусора - уменьшить утечки памяти.

Реализация GC требует трех основных подходов, а именно:

  • Разметка и разметка - в процессе, когда память заканчивается, ГХ обнаруживает всю доступную память и затем освобождает доступную память.
  • Подсчет ссылок - Выделенные объекты содержат количество ссылок на номер ссылки. Когда счетчик памяти равен нулю, объект становится мусором, а затем уничтожается. Освобожденная память возвращается в кучу памяти.
  • Копировать коллекцию - Есть два раздела памяти. Если первый раздел заполнен, GC находит все доступные структуры данных и копирует их во второй раздел, сжимая память после процесса GC и предоставляя непрерывную свободную память.

Некоторые языки программирования и платформы со встроенным GC (например, Java, Lisp, C # и .Net) самостоятельно управляют утечками памяти, обеспечивая более эффективное программирование.

Техопедия объясняет сбор мусора (GC)

Динамический подход сборки мусора к автоматическому распределению кучи устраняет распространенные и дорогостоящие ошибки, которые часто приводят к реальным программным дефектам, когда их не обнаруживают.

Поскольку их трудно идентифицировать и исправить, ошибки распределения являются дорогостоящими. Таким образом, сборка мусора, как полагают многие, является важной языковой функцией, которая облегчает работу программиста с более низким ручным управлением распределением кучи. Однако GC не совершенен, и следует учитывать следующие недостатки:

  • При освобождении памяти GC потребляет вычислительные ресурсы.
  • Процесс GC непредсказуем, что приводит к разбросанным задержкам сеанса.
  • Когда неиспользуемые ссылки на объекты не удаляются вручную, GC вызывает утечки логической памяти.
  • GC не всегда знает, когда обрабатывать в среде виртуальной памяти современных настольных компьютеров.
  • Процесс GC плохо взаимодействует с системами кеша и виртуальной памяти, что приводит к трудностям с настройкой производительности.
Это определение было написано в контексте общего программирования
Что такое сборка мусора (gc)? - определение из техопедии