Junior — Middle
Cum eliberează mecanismul de colectare a gunoiului memoria neutilizată în Java?
sobes.tech AI
Răspuns de la AI
În Java, mecanismul de colectare a gunoiului (Garbage Collector, GC) eliberează automat memoria ocupată de obiectele care nu mai sunt utilizate de program.
Principiul de funcționare:
- Detecția accesibilității obiectelor: GC urmărește obiectele la care nu mai există referințe din părțile active ale programului (de exemplu, din stiva de apeluri sau variabile statice).
- Marcarea: Toate obiectele accesibile sunt marcate ca fiind vii.
- Curățarea: Obiectele care nu sunt marcate ca fiind vii sunt considerate gunoi și memoria lor este eliberată.
Java utilizează diferite algoritmi GC (de exemplu, Mark-and-Sweep, Generational GC), care optimizează gestionarea memoriei și reduc pauzele în rularea aplicației.
Exemplu: dacă un obiect este creat în interiorul unei metode și după ieșirea din metodă nu mai există referințe către el, GC va elibera în timp memoria ocupată de acel obiect.