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ęć
}