7
votes

Qui décide des types de données taille en Java

Qui décide de la taille des types de données tels que INT en Java? JVM ou OS ou processeur?

la taille int est 4 octets .. il s'agit toujours de 4 octets indépendamment du système d'exploitation ou du processeur?


0 commentaires

3 Réponses :




1
votes

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.

Autre JVMS peut le faire différemment, par exemple, ils pourraient stocker un tableau de Boolean S avec un seul bit par valeur, plutôt que 32 bits par valeur.

Ainsi, alors que la taille d'un int 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.

En outre, les valeurs de points flottants sont effectivement moins restreintes à cet égard - tandis que la spécification de float et double 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 et java.lang.strictmath (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 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.


0 commentaires