JAVA中基本类型Boolean占几个字节

今天在整理JAVA基础知识时发现几大基本数据类型的封装类都有其BYTES值,也就是位数,除了Boolean。特意查了下资料,发现有几大说法,如下:

1.单个的boolean 类型变量在编译的时候是使用的int 类型。
boolean a=true;//这个a在JVM中占4个字节即:32位。

2.boolean 类型的数组时,在编译的时候是作为byte array来编译的所以boolean 数组里面的每一个元件占一个字节,
boolean[] b = new boolean[10];//数组时,每一个boolean在JVM中占一个字节。理由:

1)JAVA规范中没有定义boolean类型的大小。

2)但是:在JVM规范第2版中讲得十分清楚。我上边的结论就是从它当中取出来的。

根据:(JVM规范第2版 3.3.4节)

Instead, expressions in the Java programming language that operate on boolean values are compiled to use values of the Java virtual machine int data type.

Where Java programming language boolean values are mapped by compilers to values of Java virtual machine type int, the compilers must use the same encoding. 而:Java virtual machine type int, whose values are 32-bit signed two’s-complement integers。

Arrays of type boolean are accessed and modified using the byte array instructions

In Sun’s JDK releases 1.0 and 1.1, and the Java 2 SDK, Standard Edition, v1.2, boolean arrays in the Java programming language are encoded as Java virtual machine byte arrays, using 8 bits per boolean element.

还有说占一位的:

3、1个bit
理由是boolean类型的值只有true和false两种逻辑值,在编译后会使用1和0来表示,这两个数在内存中只需要1位(bit)即可存储,位是计算机最小的存储单位。

总结:java规范中,没有明确指出boolean的大小。在《Java虚拟机规范》给出了4个字节,和boolean数组1个字节的定义,具体还要看虚拟机实现是否按照规范来,所以1个字节、4个字节都是有可能的

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/557649.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

怎么在linux上修改mysql端口映射_如何在Linux中更改默认的MySQL / MariaDB端口

在本指南中,我们将学习如何更改MySQL / MariaDB数据库在CentOS 7和基于Debian的Linux发行版中绑定的默认端口。 MySQL数据库服务器在Linux和Unix下运行的默认端口是3306 / TCP 。为了在Linux中更改默认的MySQL / MariaDB数据库端口,请通过执行以下命令打…

java 泛型的上限与下限、泛型通配符、泛型上下限

java 泛型的上限与下限 设置泛型对象的上限使用extends,表示参数类型只能是该类型或该类型的子类&#xff1a; 声明对象&#xff1a;类名<? extends 类> 对象名 定义类&#xff1a;类名<泛型标签 extends 类>{} 设置泛型对象的下限使用super,表示参数类型只能是…

hashmap为什么线程不安全_StringBuilder为什么线程不安全?

点击上方“Java知音”&#xff0c;选择“置顶公众号”技术文章第一时间送达&#xff01;作者&#xff1a;千山juejin.im/post/5d6228046fb9a06add4e37fe引言面试官&#xff1a;StringBuilder和StringBuffer的区别在哪&#xff1f;我&#xff1a;StringBuilder不是线程安全的&am…

java中的重量级与轻量级概念

首先轻量级与重量级是一个相对的概念&#xff0c;主要是对应用框架使用方便性和所提供服务特性等方面做比较的。 比方说EJB就是一个重量级的框架&#xff0c;因为它对所编写的代码有限制&#xff0c;同时它也提供分布式等复杂的功能。 相比之下&#xff0c;Spring就是轻量级框架…

java中持久化是什么意思?

什么是持久化&#xff1f; 要想说明这个名词&#xff0c;还要从上世纪70年代说起&#xff0c;数据库技术兴起&#xff0c;这时的软件结构发展为双层结构。在双层结构中实现了的数据存放与应用程序分离&#xff0c;构成了现代软件模型的雏形。但是&#xff0c;随着软件体量越来越…

mysql主从报错_Mysql主从报错锦集

前言在发生故障切换后&#xff0c;经常遇到的问题就是同步报错&#xff0c;下面是最近收集的报错信息。记录删除失败在master上删除一条记录&#xff0c;而slave上找不到Last_SQL_Error: Could not execute Delete_rows event on table hcy.t1;Cant find record in t1,Error_co…

JAVA中的那些名词解释

1.JDO: (Java Data Object )是Java对象持久化的新的规范&#xff0c;也是一个用于存取某种数据仓库中的对象的标准化API.作用:用于存取某种数据仓库中的对象 2.JPA: JPA是Java Persistence API的简称&#xff0c;中文名Java持久层API&#xff0c;是JDK 5.0注解或XML描述对象&a…

mysql资质_MySQL语句与Java代码实现按需过滤企业员工的资质证书

在企业ERP中&#xff0c;每位员工拥有多个资质证书&#xff0c;资质证书有种类、名称和登记时间&#xff0c;以及变动时间和结束时间的主要属性&#xff1b;现在有一个需求&#xff0c;员工在系统查看自己的信息之时&#xff1a;同一种类、同一名称、同一登记时间的资质证书&am…

java对象的序列化和反序列化详细解释

java对象的序列化和反序列化是什么意思 1、序列化是干啥用的&#xff1f; 序列化的原本意图是希望对一个Java对象作一下“变换”&#xff0c;变成字节序列&#xff0c;这样一来方便持久化存储到磁盘&#xff0c;避免程序运行结束后对象就从内存里消失&#xff0c;另外变换成字…

oracle to mysql demo_oracle to mysql

http://blog.csdn.net/hwhua1986/article/details/53257427oracle到mysql的迁移步骤及各种注意事项http://www.2cto.com/database/201305/210248.htmlhttp://www.cnblogs.com/HondaHsu/p/3641116.htmlhttp://www.cnblogs.com/HondaHsu/p/3641183.htmlhttp://www.cnblogs.com/Ho…

IDEA快捷键调整字体大小 设置 (Ctrl+滚轮) 调整字体大小

IDEA设置Ctrl滚轮调整字体大小 第一步&#xff1a;打开idea 设置界面&#xff1a; 第二步&#xff1a;勾选上下图中红色部分即可实现 保存后&#xff0c;ctrl滚轮就能改变代码字体大小

mysql5.7主从全备恢复_mysql主从,或者全备份

mysql的主从复制依赖bin-log日志&#xff0c;会因为各种问题中断&#xff0c;如flush table&#xff0c;网络问题等&#xff0c;还有一些未知的bug因素&#xff0c;之前使用mysql import方式恢复速度太慢&#xff0c;一个3G的库要恢复一个下午&#xff0c;实在是无法忍受。现在…

IDEA中三种注释方式的快捷键

三种注释方式 单行注释、多行注释、方法或类说明注释&#xff08;文档注释&#xff09;。 单行注释 快捷键&#xff1a;Ctrl /   使用Ctrl /&#xff0c; 添加单行注释&#xff0c;再次使用&#xff0c;去掉行注释    多行注释 快捷键&#xff1a;Ctrl Shift /   使用…

lombok @Accessors用法详解(一看就能懂)

Accessors(chaintrue) 链式访问&#xff0c;该注解设置chaintrue&#xff0c;生成setter方法返回this&#xff08;也就是返回的是对象&#xff09;&#xff0c;代替了默认的返回void。 package com.pollyduan;import lombok.Data; import lombok.experimental.Accessors;Data …

随机森林特征重要性计算_R语言随机森林模型中具有相关特征的变量重要性

原文链接&#xff1a;http://tecdat.cn/?p13546​tecdat.cn变量重要性图是查看模型中哪些变量有趣的好工具。由于我们通常在随机森林中使用它&#xff0c;因此它看起来非常适合非常大的数据集。大型数据集的问题在于许多特征是“相关的”&#xff0c;在这种情况下&#xff0c;…

在IDEA中右键New没有创建Mapper文件选项解决办法

问题解决 1.File–>Settings–>Editor–>File and Code Templates 模板中输入内容 <?xml version"1.0" encoding"utf-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/…

mysql合并多条纪录字段_mysql合并多条记录的单个字段去一条记录

mysql怎么合并多条记录的单个字段去一条记录&#xff0c;今天在网上找了一下&#xff0c;方法如下&#xff1a;测试用表结构&#xff1a;-- ------------------------------------------------------------ 表的结构 tet--CREATE TABLE IF NOT EXISTS tet (id int(11) NOT NULL…

三步教你解决Invalid bound statement (not found): com.xxx.dao.xxxDao.selectByxx错误!!!!很简单

1 问题实质: dao层(又叫mapper接口)跟mapper.xml文件没有映射 2 问题原因: 出现这种映射问题的原因分为低级原因和更低级原因两种 更低级原因: (1)dao层的方法和mapper.xml中的方法不一样; (2)mapper中的namespace resultParameter 和对应的dao层entity层不一样 (3)拼写错误 如…

java mysql lru_Java集合详解5:深入理解LinkedHashMap和LRU缓存

今天我们来深入探索一下LinkedHashMap的底层原理&#xff0c;并且使用linkedhashmap来实现LRU缓存。摘要&#xff1a;HashMap和双向链表合二为一即是LinkedHashMap。所谓LinkedHashMap&#xff0c;其落脚点在HashMap&#xff0c;因此更准确地说&#xff0c;它是一个将所有Entry…

SpringBoot中注入ApplicationContext对象的三种方式

在项目中&#xff0c;我们可能需要手动获取spring中的bean对象&#xff0c;这时就需要通过 ApplicationContext 去操作一波了&#xff01; 1、直接注入&#xff08;Autowired&#xff09; Component public class User {Autowiredprivate ApplicationContext applicationCont…