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

 更新时间:2024年04月18日 08:39:50   作者:何妨徐行  
这篇文章主要介绍了为何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硬件层面),具有高效存取的特点。

总结

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

相关文章

  • Java实现去重的方法详解

    Java实现去重的方法详解

    austin支持两种去重的类型:N分钟相同内容达到N次去重和一天内N次相同渠道频次去重,这篇文章就来和大家讲讲这两种去重的具体实现,需要的可以参考一下
    2023-06-06
  • SpringBoot web静态资源配置详解

    SpringBoot web静态资源配置详解

    这篇文章主要介绍了SpringBoot web静态资源配置详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • HTTP基本认证(Basic Authentication)的JAVA实例代码

    HTTP基本认证(Basic Authentication)的JAVA实例代码

    下面小编就为大家带来一篇HTTP基本认证(Basic Authentication)的JAVA实例代码。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-11-11
  • java中List对象列表实现去重或取出及排序的方法

    java中List对象列表实现去重或取出及排序的方法

    这篇文章主要介绍了关于java中List对象列表实现去重或取出以及排序的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面跟着小编来一起学习学习吧。
    2017-08-08
  • java中的FileInputStream三种read()函数用法

    java中的FileInputStream三种read()函数用法

    这篇文章主要介绍了java中的FileInputStream三种read()函数用法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12
  • Jmeter多用户并发压力测试过程图解

    Jmeter多用户并发压力测试过程图解

    这篇文章主要介绍了Jmeter多用户并发压力测试过程图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • Java实时日志输出至前台的实现步骤

    Java实时日志输出至前台的实现步骤

    在Java应用程序中实现将实时日志输出至前台(如Web页面或桌面应用程序),通常涉及到几个关键组件和技术的选择,下面将详细介绍如何使用Java实现实时日志输出至前台,并结合具体的实现技术和框架来说明,需要的朋友可以参考下
    2025-10-10
  • IDEA搭建多模块的Maven项目方式(相互依赖)

    IDEA搭建多模块的Maven项目方式(相互依赖)

    这篇文章主要介绍了IDEA搭建多模块的Maven项目方式(相互依赖),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-08-08
  • Java实现MD5加密的方式与实例代码

    Java实现MD5加密的方式与实例代码

    MD5加密是一种常见的加密方式,我们经常用在保存用户密码和关键信息上。那么它到底有什么,又什么好处呢,会被这么广泛的运用在应用开发中
    2021-10-10
  • 基于Mybatis的配置文件入门必看篇

    基于Mybatis的配置文件入门必看篇

    这篇文章主要介绍了Mybatis的配置文件入门,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-07-07

最新评论