Sobes.tech
Junior — Middle

Tullantı toplayıcısı necə işləyir və hansı yaddaş sahələrini təmizləyir: heap və ya stack?

sobes.tech Süni İntellekt

AI-dan cavab

Go'da Çöp Toplayıcı (Garbage Collector), proqram tərəfindən artıq istifadə edilməyən yaddaşı avtomatik olaraq azad edir. O, dinamik şəkildə ayrılmış obyektlərin yerləşdiyi heap yaddaş sahəsi ilə işləyir.

Stack (yığım) isə yerli dəyişənlər və funksiyaların çağırışları üçün yaddaş sahəsidir və funksiyalara giriş və çıxış zamanı avtomatik idarə olunur; çöp toplayıcı onu təmizləmir.

Go'da çöp toplayıcısının işləmə prinsipi, əlçatanlıq izləmə algoritminə əsaslanır: o, kök nöqtələrindən (yığım, qlobal dəyişənlər) əldə edilə bilən bütün obyektləri tapır və onlara istinad olmayanları silir.

Beləliklə, çöp toplayıcı heap-i təmizləyir və yığım çağrı sistemi tərəfindən idarə olunur və avtomatik olaraq sərbəst buraxılır.