2013-07-23 5 views
9

Qual è la dimensione delle variabili di riferimento in java? Sono abbastanza sicuro che non dipenderà dall'architettura o è vero? Ha qualche somiglianza con il concetto di puntatori in C? Ho provato ma non ho potuto ottenere una risposta convincente.qual è la dimensione della variabile di riferimento in java

+2

Vedi qui http://stackoverflow.com/questions/5350950/reference-type-size-in-java –

+0

O qui: http://stackoverflow.com/questions/16882277/how-to-find- oggetti-dimensioni-inclusi-contenuti-oggetti –

+1

Le dimensioni dipenderanno dall'architettura della macchina virtuale. –

risposta

12

La quantità di memoria utilizzata da un riferimento dipende da diversi parametri:

  • su una JVM a 32 bit, sarà 32 bit
  • su una JVM a 64 bit, può essere 32 o 64 bit in base alla configurazione. Ad esempio, su hotspot, compressed ordinary object pointers è attivato per impostazione predefinita e la dimensione di un riferimento è 32 bit. Se si disattiva l'opzione con -XX:-UseCompressedOops, verranno utilizzati 64 bit.