Junior
Qayta ishlashni to'plovchi (Garbage Collector) nima?
sobes.tech AI
AIdan javob
Avtomatik xotira boshqaruv mexanizmi bo'lib, u ishlatilmaydigan obyektlarni yig'ishda xotirani bo'shatadi.
Ishlash prinsiplari:
- Obyektlarning erishish mumkinligini aniqlash: Yashayotgan (mavjud) obyektlar, masalan, oqimlar yiginidan (masalan, oqimlar yiginidan) ko'rsatkichlar bilan bog'langan obyektlarni kuzatadi.
- Erişilmaydigan obyektlarni bo'shatish: Referenslari bo'lmagan obyektlar "axlat" deb hisoblanadi va ularning xotirasi qayta ishlatilishi mumkin.
Axlat yig'uvchilar turlari (til/platfromaga bog'liq):
- Mark and Sweep: Erishilgan obyektlarni belgilaydi (belgilash), so'ngra yigin bo'ylab yurib, belgilamaganlarni bo'shatadi (tozalash). Bu xotira bo'laklanishiga olib kelishi mumkin.
- Copying: Yig'ishni ikkiga bo'ladi. Yashayotgan obyektlarni yangi qismga ko'chiradi, so'ng eski qismni tozalaydi. Bu bo'laklanishni oldini oladi, lekin ko'proq xotira talab qiladi.
- Generational: Ob'ektlarni yoshiga qarab avlodlarga bo'linadi. Ko'proq axlatni "yosh" avlodda yig'adi, bu yerda ko'p obyektlar qisqa umr ko'radi.
Afzalliklar:
- Xotira oqibotlarining ehtimolini kamaytiradi.
- Rivojlanishni soddalashtiradi (xotirani aniq bo'shatishga hojat yo'q).
Kamchiliklar:
- Yig'ish jarayonida kechikishlar (pauza) yuzaga kelishi mumkin.
- Yig'ish vaqti oldindan aytib bo'lmaydi.