Junior — Middle
Proqramlaşdırma dillərində lazımsız məlumatların avtomatik təmizlənməsi necə həyata keçirilir?
sobes.tech Süni İntellekt
AI-dan cavab
Go kimi proqramlaşdırma dillərində, avtomatik yaddaş təmizləmə (Garbage Collector, GC) vasitəsilə həyata keçirilir. Garbage Collector yaddaşdakı obyektləri izləyir və onların artıq proqram tərəfindən istifadə olunmadığını müəyyən edir (yəni, onlara istinadlar yoxdur). Belə obyektlər "zibil" kimi qəbul edilir və yaddaş sızıntılarını qarşısını almaq üçün avtomatik olaraq azad edilir.
Go-da, garbage collector proqramın icrası ilə paralel işləyir və qısa müddətə dayandırılaraq istifadə olunmayan obyektləri analiz edir və təmizləyir. Bu, inkişafçının yaddaşı əl ilə azad etməklə bağlı narahatlıqlarını aradan qaldırır, əl ilə yaddaş idarə edən dillərdə olduğu kimi.
Nümunə:
package main
import "fmt"
func main() {
data := make([]int, 1000000) // yaddaş ayırması
fmt.Println(len(data))
// main-dən çıxışda, əgər data-ya istinadlar yoxdursa, yaddaş avtomatik olaraq garbage collector tərəfindən azad edilir
}