单个byte
占用Java虚拟机内的四个字节空间( 32位处理器)。
是的,我们可以使用一个字节数组,它只占用它实际需要的空间量。但我想使用单个字节而不是一个字节数组。
那么,Java
中是否有类型代表 8位数据。
答案 0 :(得分:4)
单个 byte
可以分配超过一个字节的存储空间,原因是内存对齐。
不要担心目标处理器。将在大约10000字节的空间中存储10000 byte
s 的数组。
答案 1 :(得分:1)
Java中是否有任何类型代表8位数据。
是的,它被称为byte
。
单个byte
实际需要多少只取决于Java VM。
答案 2 :(得分:1)
这取决于实现(JVM)如何处理内部类型。我想8位机器上的任何JVM都使用1字节作为byte
类型 - 在32位或64位机器上,这可能并非总是如此,正如您所注意到的那样:)
答案 3 :(得分:1)
如果您使用byte
,那么Java将使用最有效的方法来存储它。可能是8位,可能是64位,但不管它是什么原因都是有充分理由的。不要对抗编译器,它比你知道的更好。
答案 4 :(得分:0)
一个字节确实代表一个8位数据。为什么要关心vm实现用于存储它的字节数?