Sobes.tech
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
}