在哪里可以找到/如何在big-endian系统上模拟JVM?

在哪里可以找到/如何在big-endian系统上模拟JVM?,jvm,endianness,Jvm,Endianness,我想在JVM中使用 java.nio.ByteOrder.nativeOrder() == ByteOrder.BIG_ENDIAN 有可能找到任何具有这种行为的在线编译器吗?是否可以模拟它(可能使用VirtualBox作为虚拟机或类似的东西)?最简单的方法:购买一台big-endian机器,如SPARC工作站 或者您可以尝试不同的模拟器,但这些模拟器将非常缓慢和困难 请看这篇博文: 他使用了我从未使用过的QEMU,但听起来它确实起到了作用 VirtualBox依赖于底层的CPU体系结构,因

我想在JVM中使用

java.nio.ByteOrder.nativeOrder() == ByteOrder.BIG_ENDIAN

有可能找到任何具有这种行为的在线编译器吗?是否可以模拟它(可能使用VirtualBox作为虚拟机或类似的东西)?

最简单的方法:购买一台big-endian机器,如SPARC工作站

或者您可以尝试不同的模拟器,但这些模拟器将非常缓慢和困难

请看这篇博文:

他使用了我从未使用过的QEMU,但听起来它确实起到了作用


VirtualBox依赖于底层的CPU体系结构,因此如果您有一个小小的endian CPU(英特尔),那么它将无法运行。

这样做的目的是什么?你知道你无法在语言中检测到endianness,对吗?它不会改变任何位移位或掩蔽的工作方式,不是吗?我想这样的东西只能在little endian系统中输出65536。为什么你说它不会改变任何位移位或掩蔽的工作方式?(我知道这个问题是个骗局,但我似乎找不到它。哦,好吧。)不,它不会改变它。位移位是在数字的逻辑值上定义的。当您向左移动数字时,这相当于相乘。当您将[非负]数字右移时,这相当于除法。Endianness只会影响内存中数字字节的底层存储,这是您无法检测到的。如果您可以链接到Java文档页面,我会更容易理解