Sobes.tech
Junior — Middle

Vysvetlite, čo sa rozumie únikom pamäte v kontexte programovania.

sobes.tech AI

Odpoveď od AI

Únik pamäte je situácia, keď program alokuje pamäť (napríklad pomocou malloc v C), ale ju potom neuvoľní po použití. Výsledkom je, že táto pamäť zostáva obsadená a nie je dostupná na opätovné použitie, čo časom môže viesť k vyčerpaniu dostupnej pamäte a k zníženiu výkonu.

Príklad úniku pamäte v C:

#include <stdlib.h>

void leak() {
    int* ptr = malloc(sizeof(int) * 10);
    // Používame ptr
    // Ale zabudneme zavolať free(ptr);
}

Tu je pamäť alokovaná, ale nie je uvoľnená, čo vedie k úniku.

V jazykoch s automatickou správou pamäte (napríklad Java) môžu úniky nastať, ak objekty zostávajú prístupné cez odkazy, aj keď už nie sú potrebné, čím bránia garbage collectorovi uvoľniť pamäť.