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)

相关推荐

  • Oracle DataGuard环境中主库收到ORA-16198报错怎么办

    技术Oracle DataGuard环境中主库收到ORA-16198报错怎么办这篇文章主要为大家展示了“Oracle DataGuard环境中主库收到ORA-16198报错怎么办”,内容简而易懂,条理清晰,希望能够帮助大

    攻略 2021年11月20日
  • 分析MySQL优化思路

    技术分析MySQL优化思路这篇文章主要讲解了“分析MySQL优化思路”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“分析MySQL优化思路”吧! 思考角度数据库技

    攻略 2021年11月5日
  • dw怎么制作asp动态网页以及向数据库增加记录

    技术dw怎么制作asp动态网页以及向数据库增加记录dw怎么制作asp动态网页以及向数据库增加记录,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。下面给大家介绍

    攻略 2021年12月2日
  • 选择物联网数据库的5个步骤分别是什么

    技术选择物联网数据库的5个步骤分别是什么选择物联网数据库的5个步骤分别是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。企业应该通过了解其数据、功能需求以

    攻略 2021年12月2日
  • 如何用web3.js保存以太网区块链中的数据

    技术怎样用web3.js在以太坊区块链上保存数据这篇文章将为大家详细讲解有关怎样用web3.js在以太坊区块链上保存数据,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。我们

    攻略 2021年12月14日
  • Java(10)File递归字节流

    技术Java(10)File递归字节流 Java(10)_File递归字节流1.File类
    1.1File类概述和构造方法【应用】File类介绍它是文件和目录路径名的抽象表示
    文件和目录是可以通过Fil

    礼包 2021年12月14日