Sobes.tech
Junior — Middle

Программалоо тилдеринде автоматтык чогултуу кандай ишке ашырылат?

sobes.tech AI

AIден жооп

Автоматтык калдык жыйноо (Garbage Collection, GC) — программа тарабынан колдонулбай калган объекттердин ээлеген эс тутумун автоматтык түрдө бошотуу механизми.

GCнин негизги ишке ашыруу ыкмалары:

  1. Референция санын эсептөө (Reference Counting) — ар бир объектке референция саны берилет. Ал нөлгө жеткенде, объект өчүрүлөт. Кемчилиги — циклик шилтемелер менен иштебейт.

  2. Белгилөө жана тазалоо (Mark-and-Sweep) — GC биринчи бардык жеткиликтүү объекттерди белгилейт, андан кийин белгиленбегендерди тазалайт, алардын калдыгы деп эсептейт.

  3. Көчүрүү (Copying Collector) — эс тутум эки бөлүккө бөлүнөт, активдүү объекттер бир бөлүктөн экинчи бөлүккө көчүрүлөт, эски бөлүк бошотулат.

  4. Генерациялык GC (Generational GC) — объекттер жашоо мөөнөтүнө карап генерацияларга бөлүнөт, жаш генерация көбүрөөк тазалайт, бул натыйжалуулукту жогорулатат.

Мисалы, Androidда Dalvik/ART генерациялык GC колдонулат, ал артында иштейт, кечиктирүүлөрдү минималдаштырат жана эс тутум агымдарын алдын алат.