La spécification de la machine virtuelle Java indique que la prise en charge des types primitifs booléens est limitée .
Il n'y a pas d'instructions de machine virtuelle Java uniquement dédiées aux opérations sur des valeurs booléennes. Au lieu de cela, les expressions du langage de programmation Java qui fonctionnent sur des valeurs booléennes sont compilées pour utiliser des valeurs du type de données Java virtual machine int.
Ce qui précède implique (bien que je puisse l'avoir mal interprété) que le type de données int est utilisé lors du fonctionnement sur des booléens, mais il s'agit d'une construction de mémoire 32 bits. Étant donné qu'un booléen ne représente qu'un bit d'information:
- Pourquoi un octet, ou un type court, n'est-il pas utilisé comme proxy pour un booléen au lieu de int?
- Pour une JVM donnée, quel est le moyen le plus fiable de savoir exactement combien de mémoire est utilisée pour stocker un type booléen?