【问题标题】:Can I execute Long data type of java in x32 bit environment? [duplicate]我可以在 x32 位环境中执行 java 的 Long 数据类型吗? [复制]
【发布时间】:2020-01-06 12:23:00
【问题描述】:

我真的想过如果尝试在 32 位平台(如 Windows 32 位或 x32 架构的处理器)中执行,实际上是 8bytes=64 位的长数据类型的 java 甚至可以运行? 我是Java的新手..所以请不要介意我的愚蠢问题... 请回答。

【问题讨论】:

    标签: java


    【解决方案1】:

    是的。根据JLS 17.7. Non-Atomic Treatment of double and long,对long 等非易失性 64 位值的单个操作将由两个 32 位操作表示。

    出于 Java 编程语言内存模型的目的,对非易失性 long 或 double 值的单次写入被视为两次单独的写入:每个 32 位一半。这可能会导致线程从一次写入中看到 64 位值的前 32 位,而从另一次写入中看到后 32 位。

    volatile long 和 double 值的写入和读取始终是原子的。

    对引用的写入和读取始终是原子的,无论它们是作为 32 位还是 64 位值实现的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-12-31
      • 1970-01-01
      • 2010-09-05
      • 2015-09-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多