boolean在Java中占几个字节的问题
Posted jzl123
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了boolean在Java中占几个字节的问题相关的知识,希望对你有一定的参考价值。
官方的定义是这样的:
boolean: The boolean data type has only two possible values: true and false. Use this data type for simple flags that track true/false conditions. This data type represents one bit of information, but its "size" isn‘t something that‘s precisely defined.
大致的意思是说布尔值只有true/false,但是其大小并不是精确确定的。
在Java虚拟机规范中,有相关的说明
- boolean值在编译之后都使用Java虚拟机中的int数据类型来代替,而int是4个字节,那么boolean值就是4个字节。
- boolean类型数组的访问与修改共用byte类型数组的baload和 bastore指令,因为两者共用,只有两者字节一样才能通用呀,所以byte数组中一个byte是1个字节,那么boolean数组中boolean是1个字节。
虽然规范如此,但具体的实现还是要看Java虚拟机是否遵守此规范。也就是说,一个字节或四个字节都是有可能的。
以上是关于boolean在Java中占几个字节的问题的主要内容,如果未能解决你的问题,请参考以下文章