Sobes.tech
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.