Sobes.tech
Senior

Čo je to únik pamäte v Jave, aj keď je tu garbage collector?

sobes.tech AI

Odpoveď od AI

Únik pamäte v Jave je situácia, keď objekty, ktoré už nie sú potrebné pre aplikáciu, zostávajú dostupné z koreňových odkazov a nie sú odstránené garbage collectorem. Napriek automatickému zberu odpadu, ak program naďalej uchováva odkazy na zbytočné objekty (napríklad v kolekciách, cache alebo statických poliach), pamäť nie je uvoľnená, čo vedie k zvýšeniu spotreby pamäte a možnému OutOfMemoryError.

Príklad: ak do zoznamu neustále pridávate objekty, ale neodstraňujete zastarané, zoznam bude rásť a pamäť nebude uvoľnená, aj keď objekty už nie sú používané v logike programu.