【发布时间】:2014-03-31 18:10:02
【问题描述】:
AFAIK,java 以大端格式将整数存储在内存中。而且我的 intel 处理器使用 little-endian。
转换发生在哪里?它发生了吗? JVM 开发者如何解决性能问题?
【问题讨论】:
-
这里的“商店”是什么意思?你在想
DataInput/DataOutput吗?如果是这样,那只是IO的问题。它与内部数据表示没有任何联系,就像当您将文本文件读入 Java 字符串时它是 UTF-8 一样重要。 -
Java 没有指定整数在内存中的存储方式;实现可以选择以它喜欢的任何格式存储。
-
如果任何 JVM 将 int big endian 存储在 little endian 机器上,那将是惊人的。性能会令人震惊。
-
不相关,但您可能指的是 AFAIK。
-
要考虑的另一件事是如何处理二进制 I/O。查看类 java.nio.ByteOrder
标签: java jvm endianness jvm-hotspot