虽然定义了boolean这种数据类型,但是只对它提供了非常有限的支持。在Java虚拟机中没有任何供boolean值专用的字节码指令,Java语言表达式所操作的boolean值,在编译之后都使用Java虚拟机中的int数据类型来代替,而boolean数组将会被编码成Java虚拟机的byte数组,每个元素boolean元素占8位”。这样我们可以得出boolean类型占了单独使用是4个字节,在数组中又是1个字节。
引自《JAVA虚拟机规范》
一个布尔量占多少空间
虽然定义了boolean这种数据类型,但是只对它提供了非常有限的支持。在Java虚拟机中没有任何供boolean值专用的字节码指令,Java语言表达式所操作的boolean值,在编译之后都使用Java虚拟机中的int数据类型来代替,而boolean数组将会被编码成Java虚拟机的byte数组,每个元素boolean元素占8位”。这样我们可以得出boolean类型占了单独使用是4个字节,在数组中又是1个字节。
引自《JAVA虚拟机规范》
在Java中,布尔类型(即boolean类型)占用的内存空间是1个字节(8位),它只有两个取值:true和false。
这是因为在Java中,一个字节是最小的可寻址内存单元,此外,为了方便数据处理和节约内存,Java的布尔类型只需要占用一个字节即可满足需求; 在Java中,布尔类型占用的内存空间是1个字节(8位),而不是1个比特或4个字节。