Che differenza c'è tra Classi e tipi primitivi, relativamente alla gestione in memoria?

Utente HTML.it
chiede

Che differenza c'è tra Classi e tipi primitivi, relativamente alla gestione in memoria?

Redazione HTML.it
risponde

Java fa una distinzione netta tra classi e tipi primitivi, relativamente al modo in cui avviene l’allocazione in memoria. Fondamentalmente, quando si dichiara una variabile del tipo:

int x;

vengono subito allocati quattro byte per conservare il dato intero. Invece, se si utilizza una classe in qualità di tipo per una certa variabile, come ad esempio:

MyClass c;

in questo caso verrà creata subito una variabile che referenzia l’oggetto (reference) ma non verrà allocata memoria fino alla creazione vera e propria dell’istanza, tramite l’utilizzo dell’operatore new.