Sobes.tech
Junior — Middle

Spiega cosa si intende per fuga di memoria nel contesto della programmazione.

sobes.tech AI

Risposta dell'AI

La perdita di memoria è una situazione in cui un programma assegna memoria (ad esempio, usando malloc in C), ma poi non la libera dopo averla usata. Di conseguenza, questa memoria rimane occupata e non disponibile per il riutilizzo, il che può portare nel tempo a esaurire la memoria disponibile e a ridurre le prestazioni.

Esempio di perdita di memoria in C:

#include <stdlib.h>

void leak() {
    int* ptr = malloc(sizeof(int) * 10);
    // Usare ptr
    // Ma dimenticare di chiamare free(ptr);
}

Qui, la memoria viene allocata, ma non viene liberata, portando a una perdita.

Nei linguaggi con gestione automatica della memoria (ad esempio, Java), le perdite possono verificarsi se gli oggetti rimangono accessibili tramite riferimenti, anche se non sono più necessari, impedendo al garbage collector di liberare la memoria.