Sobes.tech
Middle

Çöp Toplayıcı'nın (Garbage Collector) özellikleri nelerdir?

sobes.tech yapay zeka

AI'dan gelen yanıt

Çöp Toplayıcı (Garbage Collector), JVM, .NET CLR, Node.js gibi çalışma ortamlarının bir parçasıdır ve belleği otomatik olarak yönetir. Ana görevi, program tarafından artık kullanılmayan nesnelerin kapladığı belleği serbest bırakmaktır.

Özellikler:

  • Otomatik bellek yönetimi: Geliştiriciyi manuel bellek tahsisi ve serbest bırakma işlemlerinden kurtarır (C++ gibi).
  • Bellek sızıntılarını önleme: Artık referansı kalmamış nesneleri otomatik olarak siler, böylece sızıntı riski en aza indirilir.
  • Çalışma algoritmaları: Mark and Sweep, Copying, Generational, G1 gibi çeşitli çöp toplama algoritmaları mevcuttur ve her biri performans, gecikme ve bellek parçalanması açısından farklı özellikler taşır.
  • Durdurma (Stop-the-world): Bazı GC algoritmaları, çöp toplama işlemini gerçekleştirmek için tüm uygulama thread'lerini bir süre durdurmayı gerektirir. Bu, özellikle duyarlı uygulamalarda fark edilir gecikmelere neden olabilir.
  • Yapılandırılabilirlik: Çoğu çalışma ortamı, GC parametrelerini (örneğin, algoritma seçimi, yığın boyutları) performansı optimize etmek için ayarlamaya izin verir.
  • Nesne nesilleme (Generational Garbage Collection): Verimlilik, yığını "nesillere" ayırmak suretiyle artırılır. Genç nesneler muhtemelen hızla çöp olur, eski nesneler ise uzun süre kalır. GC, "genç" nesil üzerinde daha sık kontrol yapar.
  • Belirsizlik: Çöp toplama işleminin tam zamanı genellikle garanti edilmez. Bu, bazı senaryolarda bellek optimizasyonunu zorlaştırabilir.