JVM è suddivisa in: 1. Metodo Area 2. Mucchio Area 3. Pila 4. PC Registrati 5. Native PilaDove serie di primitive memorizzati nella memoria JVM
Ora supponiamo Ho una classe con proprietà di dire "int [] dealCodes" (array di primitive int). Come per la gestione della memoria una volta inizializzato il codice deal, ci sarebbe un'allocazione di memoria contigua di (total_elements * 4 byte) in memoria. Quindi se la dimensione dell'array è 10, allora ci sarà un'allocazione di 40 byte nella memoria JVM.
La mia domanda è in quale area verranno allocati questi 40 byte (heap o stack)?
La mia comprensione dell'array è: è come qualsiasi altro oggetto e risiede nell'area dell'heap ma non conosco le primitive a cui l'array punta.
Inoltre, desidera conoscere lo scenario simile quando l'array contiene riferimenti (ad esempio array di tipo Employees). Penso che in questo caso, tutto sarà in area heap. Poiché questi sono riferimenti, la matrice manterrà 4 byte per ogni riferimento (sistema a 32 bit) e questi riferimenti punteranno a oggetti di dimensioni variabili. L'allocazione della memoria di array verrà calcolata sulla base della dimensione di riferimento e non della dimensione dell'oggetto.
Please help me per ottenere chiarezza sopra 2 punti.
Gli array sono oggetti quindi è sul mucchio –