Sobes.tech
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:

  1. Bağlantıların Takibi: GC, erişilebilir nesneleri (aktif koddan referanslar olanlar) ve olmayanları belirler.
  2. Çöp Tanımlama: Referansı olmayan nesneler çöp olarak kabul edilir ve silinmeye adaydır.
  3. 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.