Qui décide de la taille des types de données tels que INT en Java? JVM ou OS ou processeur? P>
la taille int est 4 octets .. il s'agit toujours de 4 octets indépendamment du système d'exploitation ou du processeur? P>
3 Réponses :
C'est la spécification JVM qui entraîne des implémentations JVM pour décider de la taille des types de données. Reportez-vous à http://docs.oracle. COM / Javase / Spécifications / JVMS / SE7 / HTML / JVMS-2.HTML # JVMS-2.3 P>
Bien que la spécification Java décide du nombre de bits que chaque type utilise réellement, la valeur JVM 32 bits par défaut couvre également certains types de mémoire, en utilisant 32 bits d'espace pour stocker des valeurs, même ceux qui n'ont pas besoin de beaucoup d'espace. Ils se comportent toujours tous (concernant le programme), comme si elles prenaient leur temps réel de stockage, mais la quantité d'espace utilisé est encore beaucoup plus grande. P>
Autre JVMS peut le faire différemment, par exemple, ils pourraient stocker un tableau de Ainsi, alors que la taille d'un En outre, les valeurs de points flottants sont effectivement moins restreintes à cet égard - tandis que la spécification de Boolean code> S avec un seul bit par valeur, plutôt que 32 bits par valeur. P>
int code> semble toujours être de 32 bits, car elle enveloppera toujours 32 bits et ne peut contenir que 32 bits, la JVM a la possibilité de stocker en utilisant 64 bits d'espace ou un autre nombre en fonction du matériel et de la mise en œuvre. P>
float code> et double code> nécessite effectivement qu'ils utilisent un format particulier, la présence de la présence de Les deux bibliothèques différentes java.lang.math code> et java.lang.strictmath code> (voir Quelle est la différence entre java.lang.math et java.lang.strictmath? pour une explication) est un exemple clair. Utilisation de java.lang.math code> n'exige pas que les calculs intermédiaires de ces fonctions soient stockés de manière particulière, ou qu'il utilise un nombre particulier de bits pour tout calculer. P>