Dalla documetazione:Originariamente inviato da ragnonerodocet
Nello heap c'è tutto ciò che preesiste all'esecuzione del programma: tutto ciò che è statico per esempio.
The Java virtual machine has a heap that is shared among all Java virtual machine threads. The heap is the runtime data area from which memory for all class instances and arrays is allocated.
Il heap è quindi l'area in cui si possono allocare oggetti (anche gli array sono oggetti). Non si può allocare sul heap es. un tipo primitivo ... solo oggetti.
No, a/b/c/d sono variabili messe sul heap. a/b/d poi sono di istanza e fanno parte di ogni oggetto MiaClasse allocato sul heap.Originariamente inviato da ragnonerodocet
Nell'esempio precedente, a, b e d, essendo variabili d'istanza, vengono salvate sullo stack
Ok.Originariamente inviato da ragnonerodocet
Ovvero, se sto nel main, con l'istruzione
MiaClasse myClass = new MiaClasse ();
creo nello stack una variabile di tipo reference chiamata myClass che punta ad un oggetto di tipo MiaClasse.