Junior — Middle
Programlama dillerinde çöp toplayıcısının çalışma prensibini açıklayabilir misiniz?
sobes.tech yapay zeka
AI'dan gelen yanıt
Çöp Toplayıcı (Garbage Collector, GC), program tarafından artık kullanılmayan nesnelerin kapladığı belleği serbest bırakan otomatik bellek yönetimi mekanizmasıdır.
Çalışma prensibi:
- Bağlantıların Takibi: GC, erişilebilir nesneleri (aktif koddan referanslar olanlar) ve olmayanları belirler.
- Çöp Tanımlama: Referansı olmayan nesneler çöp olarak kabul edilir ve silinmeye adaydır.
- Belleğin Serbest Bırakılması: GC, bu nesnelerin kapladığı belleği serbest bırakır ve tekrar kullanılabilir hale getirir.
Flutter (Dart) içinde çöp toplayıcı, referans sayımı ve periyodik temizlemeye dayanır. Arka planda çalışır ve uygulama üzerindeki duraklamaları en aza indirmeye çalışır.
Örnek:
class MyClass {
String data;
MyClass(this.data);
}
void main() {
MyClass obj = MyClass('Merhaba');
obj = null; // Artık MyClass nesnesine erişilemez ve GC tarafından toplanabilir
}
obj null yapıldığında, MyClass nesnesi erişilemez hale gelir ve çöp toplayıcı tarafından silinir.