Преглед садржаја:
Дефиниција - Шта значи сакупљање смећа (ГЦ)?
Скупљање смећа (ГЦ) је динамичан приступ аутоматском управљању меморијом и расподјелом хепа који обрађује и идентифицира мртве меморијске блокове и прерасподјељује складиште за поновну употребу. Примарна сврха сакупљања смећа је смањење пропуштања меморије.
За спровођење ГЦ потребна су три примарна приступа, како следи:
- Означи и помери - У току када се меморија потроши, ГЦ лоцира сву доступну меморију и затим враћа расположиву меморију.
- Бројање референци - Додијељени објекти садрже референтни број референтног броја. Када је број меморије једнак нули, предмет се смеће и уништава. Ослобођена меморија враћа се у гомилу меморије.
- Копирање колекције - Постоје две меморијске партиције. Ако је прва партиција пуна, ГЦ лоцира све доступне структуре података и копира их на другу партицију, компактирајући меморију након ГЦ процеса и омогућава континуирану слободну меморију.
Неки програмски језици и платформе са уграђеним ГЦ-ом (нпр. Јава, Лисп, Ц # и .Нет) самоуправљају пропуштања меморије, што омогућава ефикасније програмирање.
Техопедија објашњава прикупљање смећа (ГЦ)
Динамични приступ сакупљању смећа аутоматски расподјелу хеапплеја рјешава уобичајене и скупе грешке које често буду неоткривене у стварним недостацима програма.
Пошто их је тешко идентификовати и поправити, грешке у расподјели су скупе. Стога, прикупљање смећа многи сматрају битном језичном особином која олакшава посао програмера уз ниже ручно управљање расподјелом хрпе. Међутим, ГЦ није савршен и требало би узети у обзир следеће недостатке:
- Када ослобађа меморију, ГЦ троши рачунарске ресурсе.
- Процес ГЦ-а је непредвидив, што резултира раштрканим кашњењима сесија.
- Када се неискориштене референце објекта ручно не одлажу, ГЦ узрокује цурење логичке меморије.
- ГЦ не зна увек када треба да обрађује у виртуелним меморијским окружењима савремених десктоп рачунара.
- ГЦ процес слабо функционише са системима кеширања и виртуелне меморије што резултира потешкоћама у подешавању перформанси.
