今天在整理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个字节都是有可能的

JAVA中基本类型Boolean占几个字节相关推荐

  1. java中各种类型所占内存空间大小

    一.常用类型占用内存大小 java中常用类型所占内存大小,以下值以实测为准. 类型 数量 大小 备注 byte 1 1B byte 1024 1KB int 1 4B int 1024 4KB boo ...

  2. 关于java中的中文字符占几个字节

    以utf8为例,utf8是一个变长编码标准,可以以1~4个字节表示一个字符,而中文占3个字节,ascII字符占1个字节. 那么为什么我们在java里面可以用一个char来表示一个中文呢? 因为java ...

  3. java 的整数类型都占几个字节

    类型 占用存储空间 表数大小 byte 1字节 -128-127 short 2字节 -215~215-1 int 4字节 -231~231-1 long 8字节 -263~263-1

  4. java中double类型占几个字节_java中各种数据类型占用字节数

    1字节(Byte)=8bit java的基本类型 类型 所占字节 byte 1 short 2 int 4 long 8 float 4 double 8 char 2 String中字母和汉字所占字 ...

  5. java中map转为json数据_Java技术-将java中Map类型数据转化为json数据并以Ajax形式返回...

    Java技术-将java中Map类型数据转化为json数据并以Ajax形式返回html 1.自定义工具类(简单易用)-下面是我写的一个简单的工具类前端 package com.test.util; i ...

  6. C#开发笔记之22-C#中的int、long、float、double等类型都占多少个字节的内存。

    本文由 比特飞 原创发布,欢迎大家踊跃转载. 转载请注明本文地址:C#开发笔记之22-C#中的int.long.float.double等类型都占多少个字节的内存. | .Net中文网. C#开发笔记 ...

  7. java char 计算_经典Java面试题之Java中Char类型的运算

    经典Java面试题之Java中Char类型的运算 char在java中称为"字符型",占2个字节.本文是百分网小编搜索整理的关于经典Java面试题之Java中Char类型的运算,有 ...

  8. Java中double类型比较大小或相等的方法

    在Java中int类型数据的大小比较可以使用双等号,double类型则不能使用双等号来比较大小,如果使用的话得到的结果将永远是不相等,即使两者的精度是相同的也不可以.下面介绍两种比较double数据是 ...

  9. Java中byte类型的范围

    Java中为什么byte的范围是 -128~127 在java中byte类型占8位 表示的范围是0000 0000 ~ 1111 1111 总共256个数, java中byte类型有正负,最高位表示正 ...

最新文章

  1. 高科技领域零的突破永不嫌多 --- 我看嫦娥四号成功登陆月球背面
  2. Oracle碎碎念~2
  3. 深度学习的实用层面 —— 1.13 梯度检验
  4. java的程序概念_Java程序基本概念
  5. 2019最新 Java商城秒杀系统的设计与实战视频教程(SpringBoot版)_1-3课程要求与收益...
  6. 网站在微信中提示从浏览器打开
  7. STM32F103RCT6移植到STM32F103C8T6注意事项
  8. 答复达内同学 2007-08-11
  9. SpringBoot的yml配置文件(三)
  10. 2022城市辅助驾驶赛道陷入“三国争霸”,数据智能助力毫末智行杀出重围?
  11. c++ string常用函数
  12. Linux网络——DNS域名解析服务
  13. Java jdk 在线文档(可搜索类)
  14. java webshell_都0202年了老嗨还在用的 - 各种姿势jsp webshell
  15. 使用python获取微医数据
  16. 完整的DJ表演工具包djay Pro 2 Mac,DJ打碟神器
  17. Leetcode第314场周赛
  18. 一年前端的4月深圳面经
  19. 安全控件资料下载链接
  20. 省政协委员、南京大学人工智能学院院长周志华: 科研学习探索最重要的是“兴趣”和“勤奋”...

热门文章

  1. java peek方法_Java ArrayDeque peek()方法与示例
  2. win8编程c语言,Win8系统怎么运行C语言 win8系统运行C语言的方法
  3. 微服务feignclient_搞微服务用阿里开源的 Nacos 真香啊
  4. labview随机数序列_labview产生随机数
  5. java怎么知道上传文件是否成功_文件包含漏洞之——tomcat CVE-2020-1938漏洞复现
  6. 单层神经网络线性回归_单层神经网络| 使用Python的线性代数
  7. java string查找_查找输出程序(Java String类)
  8. Java中从String到Long的转换
  9. 我们如何在Python中创建多行注释?
  10. Java日历的getMinimalDaysInFirstWeek()方法和示例