首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >java字节是如何存储的?

java字节是如何存储的?
EN

Stack Overflow用户
提问于 2013-11-17 23:06:44
回答 2查看 522关注 0票数 0

不久前,我读到了java字节,它是一个8位字节,内部存储为一个int。我似乎在网上找不到任何可以证实这一点的信息。

感谢您抽出时间来回答我的问题!

那么C++字符呢?它是存储为8位还是32位?

EN

回答 2

Stack Overflow用户

发布于 2013-11-17 23:08:06

JLS或JVM没有指定如何存储byte (或任何其他Java值)(您能找到的最接近的是JVM级别的抽象规范,但这仍然没有说明它是如何存储的)。它通常以最适合手头硬件架构的方式存储,通常是32位(甚至64位)。

票数 4
EN

Stack Overflow用户

发布于 2013-11-18 00:03:41

如果你看一下方法在类文件中是如何表示的,你会注意到,如果方法参数是字节、整数、布尔值、短整型或字符,那么它们都是用相同的字节码指令加载到方法框架的执行堆栈上的。这意味着它们需要在一个方法帧中采用相同的大小,这通常需要32位。

在堆上存储字节时,大多数JVM实现选择以32位存储字节,而字节数组以每个数组条目8位存储。然而,这并没有在JLS或JVMS中指定。如果您想实现自己的JVM,您可以使用任何数量的位来存储一个字节,并且仍然可以通过Java TCK兼容性测试。

所以说:你所说的不是一个明显的事实,但它在大多数情况下仍然是正确的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20032223

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档