Middle
Kotlin-də tullantı toplayıcısı (garbage collector) necə və nə vaxt işləməyə başlayır?
sobes.tech Süni İntellekt
AI-dan cavab
JVM tullantı toplayıcısı, artıq əlaqələr olmayan obyektləri sərbəst buraxaraq yaddaşı avtomatik idarə edir.
Tullantı toplayıcısının işləməsi dəqiq vaxtda təmin edilmir. O, ehtiyac olduqda, sistem azad yaddaşı aşkar etdikdə və ya JVM tərəfindən müəyyən edilən digər vəziyyətlərdə işə salınır.
İşə başlamasına təsir edən amillər:
- Mövcud yaddaş miqdarı: Əgər azad yaddaş azdırsa, tullantı toplayıcı daha çox ehtimal olunur ki, işə düşsün.
- Tətbiqin fəaliyyəti: Objektlərin intensiv yaradılması daha tez-tez işə salınmasına səbəb ola bilər.
- JVM parametrləri: Tullantı toplayıcının davranışına təsir edən parametrlər mövcuddur.
Kotlin-də, Java kimi, inkişaf etdirici birbaşa tullantı toplayıcını idarə etmir. Yaddaş avtomatik olaraq sərbəst buraxılır.
Nümunə (Kotlin, GC-nin işə düşməsinə birbaşa təsir etmir, amma obyektin toplanmağa hazır olduğunu göstərir):
fun main() {
var myObject: Any? = Any() // Obyekt yaradılır
println(myObject) // Obyekt mövcuddur
myObject = null // Obyektə olan bütün istinadlar silinir
// İndi obyekt tullantı toplayıcı üçün hazırdır
// Tullantı toplayıcı hər zaman bu sətirdən sonra işləyə bilər
}