Cum funcționează colectorul de gunoi și ce zone de memorie curăță: heap sau stack?
sobes.tech AI
Răspuns de la AI
Colectorul de gunoi (Garbage Collector) în Go eliberează automat memoria care nu mai este utilizată de program. Lucrează cu zona de memorie heap, unde sunt plasate obiectele alocate dinamic.
Stiva (stack) este o zonă de memorie pentru variabile locale și apeluri de funcții, care este gestionată automat la intrarea și ieșirea din funcții, iar colectorul de gunoi nu o curăță.
Principiul de funcționare al colectorului de gunoi în Go se bazează pe algoritmul de urmărire a accesibilității: găsește toate obiectele accesibile din punctele rădăcină (stivă, variabile globale) și elimină cele fără referințe.
Astfel, colectorul de gunoi curăță heap-ul, iar stiva este gestionată de sistemul de apeluri și se eliberează automat.