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)

相关推荐

  • java 核心技术卷1哪版比较好(java基本类型有哪八种)

    技术Java的五大功能优势是什么本篇内容主要讲解“Java的五大功能优势是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java的五大功能优势是什么”吧!  一、支持更多

    攻略 2021年12月21日
  • 缩减SCSS 50%样式代码的实战经验总结

    技术缩减SCSS 50%样式代码的实战经验总结本篇内容介绍了“缩减SCSS 50%样式代码的实战经验总结”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希

    攻略 2021年10月25日
  • 圆锥的体积公式是什么,锥形的体积的计算公式是什么

    技术圆锥的体积公式是什么,锥形的体积的计算公式是什么圆锥体体积计算:根据圆柱体积公式V=Sh(V=πr²h)圆锥的体积公式是什么,得出圆锥体积公式:V=1/3sh,其中S是圆柱的底面积,h是圆柱的高,r是圆柱的底面半径。

    生活 2021年10月21日
  • spark具有哪些优点(spark的底层是什么)

    技术Spark核心概念是什么这篇文章主要介绍“Spark核心概念是什么”,在日常操作中,相信很多人在Spark核心概念是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Spark核心概念

    攻略 2021年12月16日
  • 使用台湾服务器的好处

    技术使用台湾服务器的好处使用台湾服务器有搭建网站相比其他地区的海外服务器优势还是比较明显的。为方便起见,下面列出了一些好处:实惠的定价 使用台湾服务器,虽然在体验上没有CN2香港直连服务器那么快,但是租用价格远低于您可能

    礼包 2021年10月22日
  • socket编程中常用协议有哪些

    技术socket编程中常用协议有哪些这篇文章给大家分享的是有关socket编程中常用协议有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1.ip IP协议是将多个包交换网络连接起来,它在源

    攻略 2021年11月17日