Middle+
GC avlodlari (0, 1, 2) konseptsiyasining mohiyati nima? Nima optimallashtiryapmiz?
sobes.tech AI
AIdan javob
Chiqindorlarni yig'ish (GC) konsepsiyasi, ko'p ob'ektlar xotirada qisqa umr ko'rishini kuzatish asosida qurilgan. Xotira avlodlarga bo'linadi:
- 0-avlod (yosh): bu yerga yangi ob'ektlar joylashtiriladi. GC uni ko'proq tekshiradi, chunki bu yerda ob'ektlar tezda eskiradi.
- 1-avlod (o'rta): 0-avlod yig'ishidan so'ng omon qolgan ob'ektlar bu yerga o'tkaziladi.
- 2-avlod (eski): uzoq umr ko'radigan ob'ektlar bu yerga joylashtiriladi. Bu avlod uchun GC kamroq ishga tushiriladi.
Optimizatsiya shundan iboratki, yosh ob'ektlar ko'proq tekshiriladi, chunki xotira bo'shatish ehtimoli yuqori, va eski ob'ektlar kamroq tekshiriladi, bu esa axlat yig'ish xarajatlarini kamaytiradi va dastur ishlashini yaxshilaydi.