Junior
Чӣ гуна ҷамъоварии партовҳо (Garbage Collector)?
sobes.tech AI
Ҷавоб аз AI
Механизми автоматии идоракунии хотира, ки объектҳои нолозимро дар хати ёдгирӣ озод мекунад.
Принсипҳои кор:
- Таҳқиқи дастрасии объектҳо: Объектҳоро, ки ба онҳо объектҳои зинда (дастрас) аз решаҳо (масалан, стеки сӯзишворӣ) ишора мекунанд, пайгирӣ мекунад.
- Озод кардани объектҳои дастраснашаванда: Объектҳое, ки ба онҳо ишора намешавад, ҳамчун "холӣ" ҳисобида мешаванд ва ёдгории онҳо метавонад дубора истифода шавад.
Намудҳои ҷамъкунандаи холӣ (зависит аз забон/платформа):
- Mark and Sweep: Объектҳои дастрасро нишон мекунад (тамғакоғозӣ), сипас ба хати ёдгирӣ мегузарад ва онҳое, ки нишон дода нашудаанд, озод мекунад (тазим). Мумкин аст, ки ба парчамсозии хотира оварда расонад.
- Copying: Хати ёдгириро ба ду қисм тақсим мекунад. Объектҳои зиндаро ба қисми нав кӯчонида, пас қисми кӯҳнаро тоза мекунад. Манъ мекунад парчамсозиро, аммо бештар хотира талаб мекунад.
- Генерасионӣ: Объектҳоро ба синну солҳо тақсим мекунад. Бештар холиро дар "ҷавон" генерасия ҷамъ мекунад, ки дар он бештари объектҳо кӯтоҳ зиндагӣ мекунанд.
Фоидаҳо:
- Кам кардани эҳтимолияти ҷорӣ шудани хотира.
- Раванди таҳияро содда мекунад (назар ба озод кардани хотираи равшан лозим нест).
Норасоиҳо:
- Мумкин аст, ки дар вақти ҷамъоварӣ таъхирҳо (паузаҳо) ба вуҷуд оранд.
- Вақти ҷамъоварӣ пешгӯишаванда нест.