Junior — Middle
Tullantıların toplanması mexanizmi necə müəyyən edir ki, obyekt yaddaşdan silinməlidir?
sobes.tech Süni İntellekt
AI-dan cavab
Çöp Toplama Mexanizmi (Garbage Collector) obyektin yaddaşdan silinməsi lazım olduğunu müəyyən edir, bu obyektin proqram üçün əlçatan olub-olmamasına əsaslanır. Əgər obyektə aktiv istinadlar qalmayıbsa (yəni, ona çatmaq mümkün deyilsə), bu, onun lazım olmadığı və silinə biləcəyi deməkdir.
Əsas müəyyən etmə üsulu obyekt qrafını, kök istinadlardan (məsələn, çağrı yığını, statik dəyişənlər) başlayaraq keçməkdir. İstinadlar vasitəsilə əldə edilə bilən bütün obyektlər canlı sayılır. Əldə edilə bilməyən obyektlər isə çöp sayılır və silinmək üçün nəzərdə tutulur.
Sadələşdirilmiş algoritm nümunəsi:
- Kök obyektlərdən başla.
- Onlardan əldə edilə bilən bütün obyektləri işarələ.
- İşarələnməyən bütün obyektlər çöp sayılır.
- Bu obyektlərin tutduğu yaddaşı azad et.
Android-də (JVM əsaslı) məsələn, Mark-and-Sweep algoritmi və digər optimizasiyalar istifadə olunur.