java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > 为何java的boolean类型是32位

解读为何java中的boolean类型是32位的

作者:何妨徐行

这篇文章主要介绍了为何java中的boolean类型是32位的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

为何java的boolean类型是32位

我们首先知道boolean类型的值有两个“真和假”。

它到底是几个字节的呢?

答:

boolean类型是通过int实现的,那么既然int占4个字节,boolean也自然占4个字节。

接下来看图

我们从底层来了解为什么要选择调用int。

(图中的高速缓存简化了 实际上还有:运算单元-寄存器-l1-l2-l3等)

 

我们知道

计算机中最小的单位是1bit,而最小的存储单元是一个字节,我们不用一字节为存储单位,是为了提高读取数据的速率。

由图示,我们可以知道计算机读取数据的方式:

通过总线来读取电压信号,每次只能读一个数据,否则会扰乱电压信号。

所以我们可以知道:数据是依次读取的,读下一个之前,必须先读完正在读取的数据。

当boolean如果用一字节来表示的话,程序中会有大量的数据在空间中。当我们想要使用数据的时候,就会从数据总体中选择数据。然而同时只能读取一个数据。由于此时数据总体数量比较大,所以读到数据的概率会比较小。

而如果用int来表示,它会占用4个字节,会使缓存的数据总量会减少,降低了数据阻塞的概率。这有利于提高我们读取数据的效率。

对于当下32位的处理器来说,一次处理数据是32位(这里不是指的是32/64位系统,而是指CPU硬件层面),具有高效存取的特点。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文