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.