Ciao,
avrei una curiosità sulla memorizzazione delle variabili di tipo primitivo nella jvm.
A quanto mi risulta, le variabili di questo tipo, vengono impilate sullo stack che gestisce parte della memoria associata al programma in esecuzione.
Differente è l'allocazione degli oggetti, che avviene nello Heap e sullo stack viene messo solo il puntatore all'oggetto stesso.
La dimensione di ogni 'slot' sullo stack, se non sbaglio è di 32 bit.
Infatti, variabili di tipo int e float occupano uno slot, double o long ne occupano 2.
Il dubbio mi viene quando si parla di variabili di tipo byte o short. Occupano anche loro un intero slot o funziona in qualche altro modo?
Anche perchè, nel caso, non mi spiegherei la loro utilità: occuperebbero cmq lo spazio di 1 intero e anche nelle operazioni vengono promossi ad intero.
Dove starebbero i vantaggi di utilizzare short o byte?
Qualcuno mi può illuminare?
Grazie a tutti.
Ps: se nn si capisce qualcosa chiedete

Rispondi quotando