Junior
Кайра иштетүүчү (Garbage Collector) эмне?
sobes.tech AI
AIден жооп
Автоматтык эс тутуму башкаруу механизми, ал колдонулбаган объекттерди чогултуп, бошотуп турат.
Иштөө принциптери:
- Объекттердин жеткиликтүүлүгүн аныктоо: Жашоо (жарактуу) объекттерден кореньтерден (мисалы, жиптердин стекинен) шилтемелерди көзөмөлдөйт.
- Жеткиликтүү эмес объекттерди бошотуу: Шилтемеси жок объекттер "мусор" деп эсептелет жана алардын эс тутуму кайра колдонулушу мүмкүн.
Мусор чогултуучулардын түрлөрү (тил/платформага жараша):
- Mark and Sweep: Жеткиликтүү объекттерди белгилейт (белгилейт), андан кийин стек аркылуу өтүп, белгисиздерди (тазалоо) бошотот. Мүмкүнчүлүк бар, эс тутумдун бөлүнүшүнө алып келиши мүмкүн.
- Copying: Эс тутумду эки бөлүккө бөлөт. Жашоо объекттерди жаңы бөлүккө көчүрөт, андан кийин эскисин тазалайт. Бөлүнүүнү алдын алат, бирок көбүрөөк эс тутум талап кылынат.
- Генерациялык: Объекттерди жашына карап, муундарга бөлөт. Көбүрөөк мусорду "жаш" муунда чогултуп, көпчүлүк объекттер кыска жашайт.
Артыкчылыктар:
- Эс тутумдун агып кетүү мүмкүнчүлүгүн азайтат.
- Өнүктүрүүнү жөнөкөйлөтөт (эс тутумду ачык түрдө бошотууга муктаждык жок).
Кемчиликтер:
- Чогултуу учурунда кечигүүлөрдү (пауза) пайда кылышы мүмкүн.
- Чогултуу убактысы алдын ала белгилүү эмес.