Sobes.tech
Junior — Middle

Kaip veikia šiukšlių surinkėjas ir kokias atminties sritis jis valo: heap ar stack?

sobes.tech AI

Atsakymas iš AI

Go atlieka šiukšlių rinkėją (Garbage Collector), kuris automatiškai atlaisvina programos nebenaudojamą atmintį. Jis veikia su atminties sritimi heap, kurioje yra išskiriami dinamiškai paskirti objektai.

Stack (kėdė) yra atminties sritis vietiniams kintamiesiems ir funkcijų iškvietimams, kuri automatiškai valdomas įėjimo ir išėjimo iš funkcijų metu, ir šiukšlių rinkėjas jos nevalys.

Go veikimo principas pagrįstas pasiekiamumo sekimo algoritmu: jis suranda visus prieinamus objektus iš šakninių taškų (kėdės, globalių kintamųjų) ir pašalina tuos, kuriems nėra nuorodų.

Taip, šiukšlių rinkėjas išvalo heap, o kėdė yra valdoma iškvietimų sistemos ir automatiškai atlaisvinama.