Интернет магазин китайских планшетных компьютеров



Компьютеры - Сборка мусора

23 января 2011


Оглавление:
1. Сборка мусора
2. Проблемы ручного управления памятью
3. Механизм сборки мусора
4. Требования к языку и системе
5. Проблемы использования
6. Достоинства и недостатки
7. Управление памятью в конкретных языках и системах



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

История

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

В промышленных процедурных и объектных языках сборка мусора долго не использовалась. Предпочтение отдавалось ручному управлению памятью, как более эффективному и предсказуемому. Но со второй половины 1980-х годов технология сборки мусора стала использоваться и в директивных, и в объектных языках программирования, а со второй половины 1990-х годов всё большее число создаваемых языков и сред, ориентированных на прикладное программирование, включают механизм сборки мусора либо как единственный, либо как один из доступных механизмов управления динамической памятью. В настоящее время она используется в Oberon, Java, Python, Ruby, Perl, C#, D и других языках.



Просмотров: 3093


<<< Подсчёт ссылок
Слабая ссылка >>>