Java中boolean占几字节

技术Java中boolean占几字节这篇文章主要介绍“Java中boolean占几字节”,在日常操作中,相信很多人在Java中boolean占几字节问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家

本文主要介绍“Java中布尔型占用了多少字节”。在日常操作中,相信很多人对Java中布尔占用了多少字节有疑问。边肖查阅了各种资料,整理出简单易用的操作方法,希望能帮助大家解决“Java中布尔占用多少字节”的疑惑。接下来,请和边肖一起学习!

这是一个看似简单的问题,但实际上,通过深入调查可以发现一两个谜团。

让我们看看官方文件中的声明。

"boolean: The boolean data type has only two possible values: true and false. Use this data type for simple flags that track true/false conditions. This data type represents one bit of information, but its "size" isn't something that's precisely defined."

从上面可以清楚的看到,只有真假布尔值,这种数据类型只代表1bit的信息,但是并没有严格的声明它占用了多少空间,也就是说不管它占用了多少空间,只有1bit的信息才有意义。

' in rocle ' sjavavirtualmachine implementation,booleanarraysinjavapragraminglanguageareencodedas javavirtualmachinebytearray,使用using8bitsperbooleanelement '

在Oracle的Java虚拟机实现中,将Java语言中的布尔数组编码成Java虚拟机的字节数组,每个元素占用8位。

"TheJavaVirtualMachinedoesdirectlysupportbooleanarrays.Itsnewarrayinstruction(newarray)enablescreationofbooleanarrays.Arraysoftypebooleanareaccessedandmodifiedusingthebytearrayinstructionsbaloadandbastore(baload,bastore)."

Java虚拟机中虽然定义了boolean类型,但是支持是很有限的,没有专门的虚拟机指令。

同时在Java语言中,对boolean值的操作被替换成int数据类型。

再去看看Java虚拟机规范上是怎么写的。

"Although the Java Virtual Machine defines a boolean type, it only provides very limited support for it. There are no Java Virtual Machine instructions solely dedicated to operations on boolean values. 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.

“The Java Virtual Machine encodes boolean array components using 1 to represent true and 0 to represent false . 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虚拟机使用1表示true,0表示false来编码boolean数组。

Java语言的boolean值被编译器映射成Java虚拟机的int类型的时候,也是一样的

到这里,得出一个结论:

boolean到底占几个字节,依赖于JVM

第一,无论Boolean占用多少字节,只有1bit的值是有意义的

第二,boolean类型被编译成int类型来使用,占4个byte。

第三,在Java虚拟机里,1表示true,0表示false。

至此,“布尔在Java中占用多少字节”的研究结束,希望能解决大家的疑惑。理论和实践的结合可以更好的帮助大家学习,所以赶紧试试吧!如果你想继续学习更多的相关知识,请继续关注网站,边肖会继续努力,给大家带来更多实用的文章!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/67427.html

(0)

相关推荐

  • position:sticky该如何使用

    技术position:sticky该如何使用这期内容当中小编将会给大家带来有关position:sticky该如何使用,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。  在研究rem布局

    攻略 2021年11月16日
  • 如何理解epoll原理

    技术如何理解epoll原理这篇文章将为大家详细讲解有关如何理解epoll原理,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。epoll的系统调用很简单,只有三个,其定义如下

    攻略 2021年11月19日
  • PMP考试计算题汇总

    技术PMP考试计算题汇总 PMP考试计算题汇总第6章项目时间管理
    本节术语较多、涉及的工具技术也不少。
    主要包括活动定义、活动排序、活动资源估算、活动历时估算、进度制定、进度控制6个子过程。
    1.1活动

    礼包 2021年11月22日
  • edge什么意思,福特edge是什么意思

    技术edge什么意思,福特edge是什么意思edge就是锐界的意思,这是长安福特新推出的一款SUV车型。福特锐界 福特锐界是一款中型跨界SUV车型,在福特CD3平台上打造,厚积者锐意进取拓疆界引领同侪福特锐界,入门配置锐

    生活 2021年10月19日
  • 分析数据库都做了哪些操作

    技术分析数据库都做了哪些操作这篇文章主要介绍“分析数据库都做了哪些操作”,在日常操作中,相信很多人在分析数据库都做了哪些操作问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”分析数据库都做了哪

    攻略 2021年11月4日
  • Golang数组如何实现stack和queue数据结构

    技术Golang数组如何实现stack和queue数据结构这期内容当中小编将会给大家带来有关Golang数组如何实现stack和queue数据结构,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有

    攻略 2021年11月15日