Sobes.tech
Junior — Middle

Jak w języku Go realizowana jest automatyczna zbiórka i zwalnianie pamięci?

sobes.tech AI

Odpowiedź od AI

W języku Go automatyczne zbieranie i zwalnianie pamięci są realizowane za pomocą wbudowanego zbieracza śmieci (garbage collector). Go używa algorytmu śledzenia i liczenia odwołań, który okresowo skanuje pamięć, identyfikując obiekty, na które nie ma już odwołań, i zwalnia je. To pozwala programiście nie martwić się o ręczne zarządzanie pamięcią, zmniejszając ryzyko wycieków i błędów.

Przykład:

package main

func main() {
    s := make([]int, 1000000) // przydzielenie pamięci
    _ = s
    // Po wyjściu z zakresu s, garbage collector automatycznie zwolni pamięć
}