Java/Tipi di dato: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Riga 30:
 
=== Differenze con il C++ ===
La dimensione dei tipi primitivi del Java non dipende dalla macchina su cui il programma è in esecuzione. Questo comportamento è differente rispetto a quello di altri linguaggi compilati in codice "nativo", primo fra tutti il linguaggio C++, nel quale i tipi base hanno dimensioni diverse a seconda che ci si trovi su una macchina piuttosto che su un'altra.<ref>Il programmatore C++ che desideri un tipo lungo esattamente ''n'' bits può importare <tt>cstdint</tt> (<tt>[[w:en:stdint.h|stdint.h]]</tt> in C).</ref> Questo significa che in Java è il linguaggio stesso che stabilisce il limite minimo e il limite massimo dei valori ammessi dai tipi numerici.
 
Su una macchina il cui processore gestisce gli interi a 32 bit usando parole a 64 bit, un compilatore C++ potrebbe decidere di implementare le variabili ''int'' facendo occupare loro 8 byte anziché 4; in Java questo non è permesso: in questo esempio, anche se la macchina virtuale ''può'' decidere di utilizzare parole a 64 bit, questo rimane trasparente al codice Java che dalla VM è eseguito, nel quale il tipo ''int'' si comporta sempre esattamente come se fosse dotato di soli 32 bits.