Junior — Middle
Kako radi sakupljač smeća i koja memorijska područja čisti: heap ili stack?
sobes.tech АИ
Одговор од АИ
Upravljač smeća (Garbage Collector) u Go automatski oslobađa memoriju koja više nije u upotrebi od strane programa. Radi sa područjem memorije heap, gde se smeštaju objekti dinamički dodeljeni.
Stek (stack) je područje memorije za lokalne promenljive i pozive funkcija, koje se automatski upravlja pri ulasku i izlasku iz funkcija, a upravljač smeća ga ne čisti.
Princip rada upravljača smeća u Go zasniva se na algoritmu praćenja dostupnosti: pronalazi sve objekte dostupne iz korenskih tačaka (stek, globalne promenljive) i uklanja one na koje nema referenci.
Na ovaj način, upravljač smeća čisti heap, a stek se upravlja sistemom poziva i automatski oslobađa.