Java Virtual Machine - 32b contro 64b

Su una macchina 32b, può essere installata solo la versione 32b della JVM. Su una macchina 64b, l'utente può scegliere tra la versione 32b e 64b. Ma ci sono alcune sfumature in questo che possono influenzare il funzionamento delle nostre applicazioni Java.

Se l'applicazione Java utilizza meno di 4G di memoria, dovremmo utilizzare la JVM a 32b anche su macchine da 64b. Questo perché i riferimenti di memoria in questo caso sarebbero solo 32b e manipolarli sarebbe meno costoso rispetto a manipolare indirizzi 64b. In questo caso, la JVM 64b avrebbe prestazioni peggiori anche se stiamo usando OOPS (normali puntatori a oggetti). Utilizzando OOPS, la JVM può utilizzare indirizzi 32b nella JVM 64b. Tuttavia, la loro manipolazione sarebbe più lenta rispetto ai riferimenti reali a 32b poiché i riferimenti nativi sottostanti sarebbero ancora 64b.

Se la nostra applicazione consumerà più della memoria 4G, dovremo utilizzare la versione 64b poiché i riferimenti 32b possono indirizzare non più di 4G di memoria. Possiamo avere entrambe le versioni installate sulla stessa macchina e possiamo passare da una all'altra usando la variabile PATH.