【问题标题】:Java BitShift difference between 32 and 64 bit JVM32 位和 64 位 JVM 之间的 Java BitShift 区别
【发布时间】:2014-08-09 02:03:08
【问题描述】:

我目前正在将 Java 应用程序从 32 位迁移到 64 位,我想知道在 32 位和 64 位 jvm 之间切换时,不同的二元运算符是否会发生行为变化,尤其是位移运算符 (@987654321 @、>>>>>)。

谢谢!

【问题讨论】:

  • 没有。这就是“JVM”中的“V”代表(虚拟)。一次编写,随处运行。
  • 没有区别。基础类型 int 和 long 也没有改变大小。

标签: java jvm bit-manipulation 32bit-64bit


【解决方案1】:

Java 语言和 JVM 是一个基于标准的平台。标准的工作方式是,在其上编写的程序应该表现相同,而不管它们运行在哪个底层硬件平台上.

因此,无论您在 32 位机器还是 64 位机器上运行,Java 中的位移都应该表现相同。数据类型(及其行为)由语言规范定义,而不是底层硬件平台。

【讨论】:

  • 你能提供你的资源吗?
  • Java 和 JVM 标准是我的资源。
  • 为了完整起见,能否提供链接?
  • Java 语言和虚拟机规范can be found here.
【解决方案2】:

简短的回答:不。长答案:noooooooo。

所有 Java 原始操作都与 JVM 和底层机器的字长无关。

【讨论】:

    猜你喜欢
    • 2011-12-12
    • 2017-07-29
    • 1970-01-01
    • 1970-01-01
    • 2011-09-13
    • 2012-09-19
    • 2011-12-25
    • 2011-06-26
    • 2019-04-15
    相关资源
    最近更新 更多