1

单个byte占用Java 虚拟机(32 位处理器)内部的四个字节空间。

是的,我们可以使用一个字节数组,它只占用它实际需要的空间量。但我想使用单个字节而不是字节数组。

那么,是否有任何类型Java可以表示8 位数据。

4

5 回答 5

4

出于内存对齐的原因,单个 byte 可以分配多于一个字节的存储空间。

不要担心目标处理器。byte10000 s的数组将存储在大约 10000 字节的空间中。

于 2013-02-12T15:57:03.780 回答
1

Java中是否有任何类型来表示8位数据。

是的,它被称为byte. 单个实际需要多少byte仅取决于 Java VM。

于 2013-02-12T15:53:41.090 回答
1

如何处理内部类型取决于实现(JVM)。我猜 8 位机器上的任何 JVM 都使用 1 个字节作为类型byte- 在 32 位或 64 位机器上,情况可能并非总是如此,正如您所注意到的 :)

于 2013-02-12T15:54:07.523 回答
1

如果您使用byte,那么 Java 将使用最有效的方法来存储它。可能是 8 位,也可能是 64 位,但不管它是什么,都是有充分理由的。不要与编译器对抗,它比你更清楚。

于 2013-02-12T15:55:56.447 回答
0

一个字节确实代表一个 8 位数据。为什么要关心 vm 的实现使用多少字节来存储它?

于 2013-02-12T15:53:46.863 回答