在 Java 程序运行中强制执行 strictfp 行为

问题描述 投票:0回答:1

有没有办法告诉 Java 虚拟机在所有浮点运算中强制执行

strictfp
行为,无论代码是否使用
strictfp
修饰符?

我在 Oracle 的 SE Jdk 中寻找了 -X 选项(我限制只使用 1.8),但确实有这样一个选项。

是否有一个适用于 MacOS 的 VM 符合 1.8 并且仅实现 strictfp 行为,而不管硬件是否存在?

java floating-point strictfp
1个回答
0
投票

我很久以前就针对不同的问答进行了研究。 我发现的是:

  1. 如果您可以更改为使用 Oracle JRockit JVM,它有一个 JVM 选项可以全局启用 strictfp - '-XX+:-StrictFP`

  2. 根据第二个参考资料,某些 Hotspot JVM 上有一个“-XX:-UseStrictFP”选项。 然而:

    • 适得其反;即它禁用所有
      strictfp
      语义。
    • 仅在“VM 的调试版本”中可用。
    • 它将在 Java 17 中被删除......以及对
      strictfp
      的所有其他支持。

参考资料:

© www.soinside.com 2019 - 2024. All rights reserved.