Sobes.tech
Senior

Go-da garbage collector nədir?

sobes.tech Süni İntellekt

AI-dan cavab

Go'dakı Tullantıların toplanıcısı (GC) avtomatik xotira idarəetmə mexanizmasıdır və istifadə olunmayan obyektləri azad edir, yaddaş sızmalarını qarşısını alır. Go, aşağı gecikməli, tetiklenmiş və paralel işləyən mübarizəçi toplanıcı ilə işləyir və bu, əsas icra axını ilə paralel işləyir.

Go'dakı GC, artıq referansları olmayan obyektləri izləyir və onların tutduğu yaddaşı azad edir. Bu, inkişaf etdiricilərə əl ilə yaddaş idarəetməsindən narahat olmadan, ikiqat azad etmə və ya sızma kimi səhvlərin ehtimalını azaldır.

Misal:

package main

import "fmt"

func main() {
    s := make([]int, 1000000) // böyük bir dilim ayırır
    fmt.Println(len(s))
    // Funksiyadan çıxış etdikdən sonra, s əlçatmaz olur və GC tərəfindən toplanır
}

Burada, funksiyanın sonunda, dilim tərəfindən istifadə olunan yaddaş avtomatik olaraq toplanıcı tərəfindən azad edilir.