gpt4 book ai didi

java - java中 boolean 值的位模式(变量值)?

转载 作者:搜寻专家 更新时间:2023-10-31 08:30:39 25 4
gpt4 key购买 nike

正如我们所知,在 Java 中变量是具有指定类型的位持有者。对于基元,位代表一个数值。

例如。值为 6 的字节具有位模式 00000110。

所以我想知道 boolean 值也是一个原始值 true 和 false 的位模式是什么。

最佳答案

在字节码/VM 内部, boolean 值表示为字节,其位模式为 00000001 表示真,00000000 表示假。但是作为 Java 开发人员,这些信息不会给您带来任何好处,因为您根本无法访问或以其他方式使用 Java 中 boolean 值的数字表示,因为 Java 将它们与数字严格分开。

编辑:我刚刚查找了 Java VM Spec再次发现我的答案是错误的。和我前面说的相反, boolean 值在字节码中存储为 CONSTANT_Integer 结构,这使得它们在常量池中占用 4 个字节的数据,但由于常量池是统一的,因此任何类中最多只能有 2 个 boolean 值条目。由于对常量池的引用始终为 2 个字节宽,因此 boolean 数组将占用字节码中每个条目的 2 个字节。

关于java - java中 boolean 值的位模式(变量值)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2081817/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com