Кто такой/что такое? Что за мусор собирает? И почему программы из-за сборщика мусора работает медленнее, но его всё равно используют?
Очищение памяти
Сборщик мусора помогает управлять оперативной памятью, освобождать её. В постоянной памяти компьютера вы храните файлы. Оперативная память быстрее, дороже, и при выключении компьютера теряет все данные. Там хранятся данные переменных.
В некоторых языках программирования, например нет сборщика мусора. Там нужно самому управлять памятью. Сам написал, когда нужно создать переменную или объект — сам потом написал, когда их уничтожить и освободить те ячейки оперативной памяти, которые были ей/им заняты.
Забыл написать это в коде? Всё, программа начинает зря занимать какие-то ячейки памяти, храня в них переменные, а то и объекты. Пока переменная/объект существует, использовать занимаемую ими память для чего-то другого нельзя. Эта проблема называется утечкой памяти, и закончиться это может тем, что программа сожрёт всю имеющуюся оперативную память и компьютер зависнет. Неприятно.
Так что такое сборщик мусора?
Сборщик мусора берёт очистку памяти на себя. Он сам проверяет, какие объекты, которые хранятся в оперативной памяти, уже не нужны и уничтожает их. Так решается проблема утечки памяти. Используется сборщик мусора, например, в Python(CPython) и JavaScript.
Правда, это сказывается на скорости работы, ведь часть ресурсов компьютера уходит именно на этот самый сборщик, который постоянно работает в фоне. Это одна из причин, почему Python работает так медленно. Об остальных причинах я рассказывал здесь и здесь.
Что за объекты, о которых говорится в статье?
Объекты в том смысле, в каком это слово используется в программировании. Вот, например, статья на Википедии.
Если вы почитали и не поняли, то совсем уж упрощённо можно представить объект как набор функций и переменных — набор разных данных, связанных по смыслу, и действий, которые можно с ними делать. Скажем, любая кнопка в программе — это обычно объект, в нём объединены размеры кнопки, цвет, текст, написанный на ней и действия, которые можно с этой кнопкой сделать. Нажать, спрятать, показать и т.д.
Так что если совсем упростить, то сборщик мусора ищет и удаляет переменные, которые программе больше не нужны, чтобы освободить от них ячейки оперативной памяти для других данных, в том числе для других программ.
Подытожим
Сборщик мусора — процесс, который используется в некоторых версиях некоторых языков программирования для того, чтобы автоматически очищать оперативную память. Он работает в фоновом режиме и ищет объекты, которые программе больше не нужны, и уничтожает их, освобождая оперативную память для других программ.
Понравилась ли вам статья? Новички в программировании, насколько полезна вам эта статья? Профессионалы, о чём важном по теме ещё следует знать начинающему программисту, по вашей точке зрения? Не забудьте поставить лайк,
ДЛЯ ДОНАТОВ
https://yoomoney.ru/to/410012316866358
https://donate.stream/vrom1990
или на карту
5599 0020 1940 9582
Ссылочки на меня:
https://zen.yandex.ru/id/vrom1990
https://archive.org/details/python-tupyh
https://www.youtube.com/c/ВячеславРоманьков