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 тарабынан бошотулат
}