Jvm 从32位虚拟机切换到64位虚拟机的后果是什么?

Jvm 从32位虚拟机切换到64位虚拟机的后果是什么?,jvm,virtual-machine,Jvm,Virtual Machine,我想知道从32位虚拟机切换到64位虚拟机可能有哪些优点和缺点。我遇到的大多数答案都表明,使用VM时,您不需要担心交换机问题,并且可以获得额外的可寻址内存,但我担心问题还不止这些 以下是我的想法: 优点: 更大的可寻址存储器 缺点: 无论在引擎盖下使用什么指针,都会使内存使用量加倍——我知道虚拟机会进行优化以避免这个问题,但我想可以安全地假设64位虚拟机下的相同逻辑可能会占用更多内存 所有依赖内存散列的确定性输出都可能发生变化 还有别的吗 我很乐意举一个具体的例子,比如JVM。我认为您不必

我想知道从32位虚拟机切换到64位虚拟机可能有哪些优点和缺点。我遇到的大多数答案都表明,使用VM时,您不需要担心交换机问题,并且可以获得额外的可寻址内存,但我担心问题还不止这些

以下是我的想法:

优点:

  • 更大的可寻址存储器
缺点:

  • 无论在引擎盖下使用什么指针,都会使内存使用量加倍——我知道虚拟机会进行优化以避免这个问题,但我想可以安全地假设64位虚拟机下的相同逻辑可能会占用更多内存
  • 所有依赖内存散列的确定性输出都可能发生变化
还有别的吗


我很乐意举一个具体的例子,比如JVM。

我认为您不必担心确定性部分,因为这通常是在幕后处理的。是的,64位JVM可能有更高的基线占用空间,但这也意味着您有更多的可寻址内存。如果您的程序由于内存不足而在32位JVM上崩溃,那么您真正有什么选择呢?@TimBiegeleisen您在这种没有选择的情况下是绝对正确的。但从另一个角度来看:如果你的应用程序在32位虚拟机下运行良好,我想如果你不需要额外的内存,你有充分的理由不使用64位。好吧,你现在可能没有充分的理由,但你可能预计到将来会有这样的需要。