Sobes.tech
Junior — Middle

Puteți explica principiul de funcționare al colectorului de gunoi în limbajele de programare?

sobes.tech AI

Răspuns de la AI

Colectorul de gunoi (Garbage Collector, GC) este un mecanism de gestionare automată a memoriei, care eliberează memoria ocupată de obiecte care nu mai sunt utilizate de program.

Principiul de funcționare:

  1. Urmărirea referințelor: GC determină care obiecte sunt accesibile (au referințe din codul activ) și care nu.
  2. Detecția gunoiului: Obiectele fără referințe sunt considerate gunoi și pot fi eliminate.
  3. Eliberarea memoriei: GC eliberează memoria ocupată de aceste obiecte pentru a putea fi reutilizată.

În Flutter (Dart), colectorul de gunoi se bazează pe numărătoarea referințelor și pe curățarea periodică. Funcționează în fundal și încearcă să minimizeze pauzele în rularea aplicației.

Exemplu:

class MyClass {
  String data;
  MyClass(this.data);
}

void main() {
  MyClass obj = MyClass('Salut');
  obj = null; // Acum obiectul MyClass nu mai este accesibil și poate fi colectat de GC
}

Când obj devine null, obiectul MyClass devine inaccesibil și va fi eliminat de colectorul de gunoi.