为什么 Java 的布尔基元大小没有定义?
Java 虚拟机规范指出,对布尔基元类型的支持有限。
没有专门用于对布尔值执行操作的 Java 虚拟机指令。相反,Java 编程语言中对布尔值进行操作的表达式将被编译为使用 Java 虚拟机 int 数据类型的值。
上述含义(尽管我可能误解了它)在对布尔值进行操作时使用int数据类型,但这是一个32位内存结构。假设布尔值仅表示 1 位信息:
- 为什么字节或短类型不用作布尔值而不是 int 的代理?
- 对于任何给定的JVM,找出究竟有多少内存用于存储布尔类型的最可靠的方法是什么?