Будинки Аудіо Що таке смітник? - визначення з техопедії

Що таке смітник? - визначення з техопедії

Зміст:

Anonim

Визначення - Що означає збирач сміття?

Збір сміття - це програмне забезпечення, яке виконує автоматичне управління пам’яттю. Його завдання полягає в тому, щоб звільнити будь-яку невикористану пам'ять і забезпечити, щоб жодна пам'ять не звільнялася, поки вона все ще використовується. Деякі мови, такі як Java та .NET, мають автоматичне збирання сміття, тоді як інші, наприклад C / C ++, вимагають від програміста керування пам'яттю вручну.

Техопедія пояснює збирач сміття

Збір сміття вперше був представлений творцем Lisp Джоном Маккарті, щоб полегшити керування пам'яттю вручну під час роботи з мовою Lisp.

Три основні методи, що використовуються сміттєзбірником для автоматичного управління пам’яттю, є наступними:

  • Підрахунок посилань - Посилання на кожен об'єкт підраховується за допомогою лічильної змінної. Коли лічильник досягає нуля, він позначає, що об'єкт більше не потрібен і тому переробляється.
  • Позначення та зачистка - рекурсивний обхід усіх доступних об'єктів проводиться на всіх областях даних, а об'єкти, що доступні. Потім немарковані об'єкти переробляються.
  • Зупинка та копіювання - Купа пам’яті поділяється на два розділи: розділ, що містить об’єкти, і порожній розділ, куди об’єкти передаються (копіюються), якщо їх виявлено позначеними. Немаєтні об’єкти в першому розділі переробляються шляхом їх спорожнення.

Коли блок пам'яті, присвоєний вказівнику / об'єкту, був звільнений, вказівник / об'єкт повинен бути скинутий до нульового значення; в іншому випадку він звисає, тобто вказує на недійсний блок пам'яті.

Збір сміття допомагає зменшити помилки та ризики для безпеки, викликані звисаючими вказівниками та проблемами з витоком пам’яті.

До недоліків використання сміттєзбірника відносяться додаткові витрати на ресурси та продуктивність. Запуск сміттєзбірника також може уповільнити роботу системи і, таким чином, знизити її продуктивність.

Що таке смітник? - визначення з техопедії