Cosa succede quando sia l'heap che lo stack sono pieni?

1

Supponiamo che io stia utilizzando applicazioni molto pesanti (o si può dire che è un codice molto brutto che continua ad allocare memoria su heap e non lo libererà e ricorre anche alla ricorsione) Ora, dopo un certo periodo di tempo, sia heap che lo stack non avrà spazio da espandere.

Ora In questa situazione l'heap e lo stack non hanno nessuno spazio libero tra loro e se provo ad allocare un po 'di memoria su heap, allora cosa accadrà? sarà overflow su stack?

E anche cosa succede se facciamo una chiamata ricorsiva e lo stack ha bisogno di espandersi, allora andrà in overflow su heap?

    
posta Nullpointer 02.05.2014 - 08:53
fonte

1 risposta

4

Il sistema lo rileva e causa un errore. Le lingue meno recenti semplicemente bloccano il programma. Le lingue più recenti generano generalmente un'eccezione. Ma gestire queste eccezioni potrebbe essere problematico, perché non c'è abbastanza memoria o stack per questo.

    
risposta data 02.05.2014 - 09:22
fonte

Leggi altre domande sui tag