Спецификация виртуальной машины Java говорит, что существует ограниченная поддержка булевых примитивных типов.
Нет инструкций виртуальной машины Java, предназначенных исключительно для операций над булевыми значениями. Вместо этого выражения на языке программирования Java, которые работают с булевыми значениями, скомпилированы для использования значений типа данных виртуальной машины Java.
Вышеизложенное подразумевает (хотя я, возможно, неправильно истолковал его), что тип данных int используется при работе с булевыми, но это 32-битная конструкция памяти. Учитывая, что логическое значение представляет только 1 бит информации:
- Почему байтовый или короткий тип не используется в качестве прокси для логического, а не для int?
- Для любого данного JVM самый надежный способ узнать, сколько памяти используется для хранения булевого типа?