Найти тему

Что за сборщик мусора в программировании?

Оглавление

Кто такой/что такое? Что за мусор собирает? И почему программы из-за сборщика мусора работает медленнее, но его всё равно используют?

Очищение памяти

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

В некоторых языках программирования, например нет сборщика мусора. Там нужно самому управлять памятью. Сам написал, когда нужно создать переменную или объект — сам потом написал, когда их уничтожить и освободить те ячейки оперативной памяти, которые были ей/им заняты.

Забыл написать это в коде? Всё, программа начинает зря занимать какие-то ячейки памяти, храня в них переменные, а то и объекты. Пока переменная/объект существует, использовать занимаемую ими память для чего-то другого нельзя. Эта проблема называется утечкой памяти, и закончиться это может тем, что программа сожрёт всю имеющуюся оперативную память и компьютер зависнет. Неприятно.

Так что такое сборщик мусора?

Сборщик мусора берёт очистку памяти на себя. Он сам проверяет, какие объекты, которые хранятся в оперативной памяти, уже не нужны и уничтожает их. Так решается проблема утечки памяти. Используется сборщик мусора, например, в Python(CPython) и JavaScript.

Правда, это сказывается на скорости работы, ведь часть ресурсов компьютера уходит именно на этот самый сборщик, который постоянно работает в фоне. Это одна из причин, почему Python работает так медленно. Об остальных причинах я рассказывал здесь и здесь.

Что за объекты, о которых говорится в статье?

Объекты в том смысле, в каком это слово используется в программировании. Вот, например, статья на Википедии.

Если вы почитали и не поняли, то совсем уж упрощённо можно представить объект как набор функций и переменных — набор разных данных, связанных по смыслу, и действий, которые можно с ними делать. Скажем, любая кнопка в программе — это обычно объект, в нём объединены размеры кнопки, цвет, текст, написанный на ней и действия, которые можно с этой кнопкой сделать. Нажать, спрятать, показать и т.д.

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

Подытожим

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

Понравилась ли вам статья? Новички в программировании, насколько полезна вам эта статья? Профессионалы, о чём важном по теме ещё следует знать начинающему программисту, по вашей точке зрения? Не забудьте поставить лайк,

ДЛЯ ДОНАТОВ

https://yoomoney.ru/to/410012316866358

https://donate.stream/vrom1990

или на карту

5599 0020 1940 9582

Ссылочки на меня:

https://zen.yandex.ru/id/vrom1990

https://t.me/vrom1990pb

https://pikabu.ru/@vrom1990

https://archive.org/details/python-tupyh

https://vk.com/vrom1990pb

https://www.youtube.com/c/ВячеславРоманьков