Sobes.tech
Junior

JavaScript'te çöp toplayıcı nasıl çalışır?

sobes.tech yapay zeka

AI'dan gelen yanıt

JavaScript'te çöp toplayıcı otomatik olarak çalışır, erişilebilir köklerden (küresel nesne, mevcut fonksiyon çağrısı vb.) artık erişilemeyen nesneleri belirler ve bunların kapladığı belleği serbest bırakır.

Ana mekanizmalar:

  • Referans Sayımı: Eski bir yöntem olup, bir nesneye kaç referans olduğunu sayar. Sayacın sıfıra ulaşmasıyla bellek serbest bırakılır. Dezavantaj: döngüsel referansları işleyemez.
  • İşaretleme ve Tarama: Modern ve en yaygın kullanılan yöntem.
    1. İşaretleme: Köklerden başlayarak, çöp toplayıcı nesne grafını özyinelemeli olarak dolaşır ve erişilebilir tüm nesneleri işaretler.
    2. Temizleme: Heap üzerinde dolaşır ve erişilebilir olmayan tüm nesneleri kaldırır.

"İşaretleme ve Tarama" yönteminin "Referans Sayımı"na göre avantajı, döngüsel referansları doğru şekilde işlemesidir.

JavaScript Motoru (örneğin, Chrome'daki V8) sürekli olarak bellek kullanımını izler ve gerekirse çöp toplayıcıyı çalıştırır. Geliştirici bu süreci doğrudan kontrol edemez, ancak gereksiz referanslardan kaçınarak ve karmaşık nesnelerin yaşam döngüsünü yöneterek dolaylı olarak etkileyebilir.