Sobes.tech
Junior — Middle

Программалоо тилдеринде керексиз маалыматтарды автоматтык түрдө тазалоо кандай жүргүзүлөт?

sobes.tech AI

AIден жооп

Go сыяктуу программалоо тилдеринде, автоматтык эс тутумду башкаруу Garbage Collector (GC) аркылуу ишке ашырылат. Garbage Collector эс тутумдагы объекттерди көзөмөлдөйт жана алардын программадан колдонулбай калганын аныктайт (б.а. алардын шилтемелери жок). Мындай объекттер "көкүрөк" деп эсептелип, эс тутумдун агып кетишин алдын алуу үчүн автоматтык түрдө бошотулат.

Goда, Garbage Collector программаны иштетүү менен бирге иштейт жана аны кыска убакытка токтотуп, колдонулбай калган объекттерди талдап, тазалайт. Бул иштеп чыгуучуга эс тутумду кол менен бошотуу тууралуу ойлонбоого мүмкүндүк берет, ал кол менен эс тутумду башкарган тилдерде сыяктуу.

Мисал:

package main

import "fmt"

func main() {
    data := make([]int, 1000000) // эс тутумду бөлүү
    fmt.Println(len(data))
    // main дан чыгуу менен, эгер dataга шилтемелер жок болсо, эс тутум автоматтык түрдө Garbage Collector тарабынан бошотулат
}