Sobes.tech
Middle

Tullantı toplayıcısının (Garbage Collector) xüsusiyyətləri nədir?

sobes.tech Süni İntellekt

AI-dan cavab

Qırıntı toplayıcı (Garbage Collector) — bu icra mühitinin (məsələn, JVM, .NET CLR, Node.js) bir hissəsidir və yaddaşı avtomatik idarə edir. Onun əsas vəzifəsi, proqram tərəfindən artıq istifadə olunmayan obyektlərin tutduğu yaddaşı sərbəst buraxmaqdır.

Xüsusiyyətlər:

  • Avtomatik yaddaş idarəetməsi: İnkişaf etdiricini əl ilə yaddaş ayırma və sərbəst buraxma işlərindən azad edir (C++ kimi).
  • Yaddaş sızmalarının qarşısını alır: Artıq referansı olmayan obyektləri avtomatik silir, bu da sızma riskini azaldır.
  • İşləmə algoritmləri: Müxtəlif yaddaş toplanma algoritmləri mövcuddur (Mark and Sweep, Copying, Generational, G1 və s.), hər biri performans, gecikmə və yaddaşın parçalanması baxımından öz xüsusiyyətlərinə malikdir.
  • Dayanmalar (Stop-the-world): Bəzi GC algoritmləri, yaddaş toplanmasını həyata keçirmək üçün bütün tətbiq ipliklərinin müəyyən müddət dayandırılmasını tələb edir. Bu, xüsusən də cavabverici tətbiqlərdə hiss edilən gecikmələrə səbəb ola bilər.
  • Tənzimlənə bilənlik: Əksər icra mühitləri GC parametrlərini (məsələn, algoritm seçimi, yığın ölçüləri) konfiqurasiya etməyə imkan verir, bu da performansı optimallaşdırmağa kömək edir.
  • Obyekt nəsilləri (Generational Garbage Collection): Effektivlik "nəsil" bölmələri ilə artırılır. Gənc obyektlər tezliklə çöpə çevrilə bilər, köhnələr isə uzun müddət qalacaq. GC daha çox "gənc" nəsil üzərində yoxlama aparır.
  • Qərarsızlıq: Yaddaş toplanmasının dəqiq vaxtı ümumiyyətlə təmin edilmir. Bu, bəzi ssenarilərdə yaddaşın aşağı səviyyəli optimallaşdırılmasını çətinləşdirə bilər.