Java boolean 类型占多少字节 - chuwuwang/ReadingNote GitHub Wiki
- boolean 值只有 true 和 false 两种,这个数据类型只代表 1 bit 的信息,但是它的“大小”没有严格的定义。也就是说,不管它占多大的空间,只有一个bit的信息是有意义的。
- Java 虚拟机虽然定义了 boolean 类型,但是支持是有限的,没有专门的虚拟机指令。在 Java 语言中,对 boolean 值的操作被替换成 int 数据类型。
- Java 虚拟机没有直接支持 boolean 数组。boolean 类型数组和 byte 数组公用指令。在 Oracle 的 Java 虚拟机实现中,Java 语言中的 boolean 数组被编码成 Java 虚拟机的 byte 数组,每个元素占 8 比特。
总结:
- boolean 类型被编译成 int 类型来使用,占 4 个 byte 。
- boolean 数组被编译成 byte 数组类型,每个 boolean 数组成员占 1 个 byte 。
- 在 Java 虚拟机里,1 表示 true ,0 表示 false 。
- 这只是 Java 虚拟机的建议。可以肯定的是,不会是 1 个 bit 。