Sobes.tech
Junior — Middle

Jak funguje garbage collector a jaké oblasti paměti čistí: heap nebo stack?

sobes.tech AI

Odpověď od AI

V Go je Garbage Collector (smetiči) automaticky uvolňuje paměť, která již není programem používána. Pracuje s oblastí paměti heap, kde jsou umístěny dynamicky alokované objekty.

Zásobník (stack) je oblast paměti pro místní proměnné a volání funkcí, která je automaticky řízena při vstupu a výstupu z funkcí, a garbage collector ji nečistí.

Princip fungování garbage collectoru v Go je založen na algoritmu sledování dosažitelnosti: najde všechny objekty dostupné z kořenových bodů (zásobník, globální proměnné) a odstraní ty, na které již nejsou odkazy.

Tímto způsobem garbage collector čistí heap, a zásobník je řízen systémem volání a je automaticky uvolněn.