Pourquoi octet Java converti et court opérandes à ints pendant la promotion numérique
Question
Quelles sont les raisons de l'extension des petits types de données (par exemple octet) à int au cours de la processus de promotion numérique? Ne serait-il possible d'effectuer la plupart des opérations directement sur ces types de données plus petites?
La solution
La machine virtuelle est une machine virtuelle, le JIT traduit ce code natif et optimise alors. Tous les registres sont soit 32 bits ou 64 bits et les opérations « plus courtes » ne sont pas nécessairement plus vite.
Autres conseils
La VM ne supporte pas les entiers plus petits que 4 octets, donc lors de l'exécution dans la machine virtuelle que vous travaillez sur 4 ints octet ou 8 languit octets. (Eh bien, il le fait pour les tableaux, Barray sarray, etc, mais pas pour les valeurs individuelles).