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