乌鲁木齐思科云智教育培训有限责任公司

Java中boolean类型占多少个字节?

发布时间:2022-05-25

1,1位原因是布尔值只有两个逻辑值,真和假,编译后会用1和0表示。这两个数字在内存中只能存储1位,这是计算机**的存储单位。2,1字节原因是虽然1和0编译后只需要占用1位空间,但计算机处理数据的**多单位是1字节,1字节等于8位。实际存储空间为:存储1字节的**位,其余7位用0填充。如果值为true,存储的十进制数为:0000001;如果为false,存储的十进制数为:0000000。3,4个字节原因是Java虚拟机规范中的描述:“虽然定义了数据类型boolean,但是只提供了有限的支持。”Java虚拟机中没有专门针对布尔值的字节码指令,Java表达式操作的布尔值在编译后在Java虚拟机中被替换为int数据类型,布尔数组会被编码成Java虚拟机的字节数组,每个元素8位。“这样我们就可以得出结论,boolean类型单独占据4个字节,在数组中占据1个字节。显然,第三种说法更准确,那么为什么虚拟机需要⽤int而不是布尔呢?为什么不是⽤byte或者肖特?它节省了更多的内存空间。大部分人都会很自然的这样想。我也有这个疑问。查阅资料后发现,⽤int的原因是

分享:

【如果您还没有关注“公司名称”手机网站】

Top