Esercizio su Stack e Heap

Messaggioda NichyXD » 11/06/2017, 12:51

Come disegnereste Stack e Heap stando alla traccia di questo esercizio?

/**
* ESERCIZIO 4 (Massimo 8 punti -- da consegnare a mano).
*
* Scrivere lo stato della memoria della JVM alla riga col commento // (B),
* ovvero giusto prima della disallocazione del frame relativo ad x, quando
* il valore di j nel main e' pari ad 1.
*/
public static void x(int l, boolean[][] a) {
boolean[] b = new boolean[2];
int i;
for (i = 0; i < l; i++)
b[i] = (i % 2 == 0);
a[l] = b;
// (B)
}

/******************************************/
public static void main(String[] args) {
boolean[][] a = new boolean[2][];
int j;
for (j = a.length; j > 0 ; j--)
x(j - 1, a); // usare (A) come indirizzo di rientro
}

Grazie in anticipo! E' gradita una foto/scansione se fatto su carta :)
NichyXD
Starting Member
Starting Member
 
Messaggio: 1 di 2
Iscritto il: 11/06/2017, 12:46

Re: Esercizio su Stack e Heap

Messaggioda apatriarca » 12/06/2017, 01:39

Nessuna idea? Che cosa viene inserito ad esempio nello stack?

P.S. Strana la scelta di utilizzare Java considerando che la presenza di un garbage collector rende l'effettivo stato della memoria dipendente dall'implementazione. Alcune implementazione potrebbero per esempio deallocare l'array di boolean allocato dentro x alla fine di x (quando l'unico riferimento a questo blocco di memoria sia stato cancellato). Altre implementazioni eseguono invece la deallocazione della memoria "in blocco" ad intervalli regolari. Suppongo che per l'esercizio non sia richiesto (e forse neanche sensato) inserire blocchi di memoria che non abbiano più riferimenti all'interno del codice che stiamo eseguendo.
apatriarca
Moderatore
Moderatore
 
Messaggio: 4664 di 10436
Iscritto il: 08/12/2008, 20:37
Località: Madrid


Torna a Informatica

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite