İçindekiler:
Tanım - Çöp Toplayıcı ne demektir?
Çöp toplayıcı, otomatik bellek yönetimi gerçekleştiren bir yazılım parçasıdır. Görevi kullanılmayan belleği boşaltmak ve kullanılmakta olan belleğin boşaltılmamasını sağlamaktır. Java ve .NET dilleri gibi bazı diller otomatik çöp toplama özelliğine sahipken, C / C ++ gibi diğerleri de programcının belleği manuel olarak yönetmesini gerektirir.
Techopedia, Çöp Toplayıcıyı açıklıyor
Çöp toplama ilk olarak Lisp yaratıcısı John McCarthy tarafından Lisp dili ile çalışırken manuel bellek yönetimini kolaylaştırmak için tanıtıldı.
Otomatik bellek yönetimi gerçekleştirmek için çöp toplayıcı tarafından kullanılan üç ana teknik şunlardır:
- Referans sayımı - Her nesneye yapılan referans bir sayaç değişkeni kullanılarak sayılır. Sayaç sıfıra ulaştığında, nesnenin artık gerekli olmadığını ve bu nedenle geri dönüştürüldüğünü belirtir.
- İşaretle ve tara - Tüm veri bölgelerinde erişilebilir tüm nesnelerin yinelemeli bir geçişi gerçekleştirilir ve erişilebilir nesneler işaretlenir. İşaretlenmemiş nesneler daha sonra geri dönüştürülür.
- Durdur ve kopyala - Bellek yığını iki bölüme ayrılmıştır: nesneleri içeren bir bölüm ve işaretlendiğinde nesnelerin aktarıldığı (kopyalandığı) boş bir bölüm. İlk bölümdeki işaretlenmemiş nesneler boşaltılarak geri dönüştürülür.
Bir işaretçiye / nesneye atanmış bir bellek bloğu serbest bırakıldığında, işaretçi / nesne boş değere sıfırlanmalıdır; aksi takdirde sarkıyor, yani geçersiz bir bellek bloğunu gösteriyor.
Çöp toplama, sarkan işaretçiler ve bellek sızıntısı sorunlarının neden olduğu hataları ve güvenlik risklerini azaltmaya yardımcı olur.
Bir çöp toplayıcı kullanmanın dezavantajları, kaynaklar ve performans üzerindeki ekstra yükü içerir. Bir çöp toplayıcının çalıştırılması da sistemi yavaşlatabilir ve böylece performansını düşürebilir.
