JVM是否仅支持IEEE 754所需功能的适当子集?

时间:2011-09-08 14:37:51

标签: java jvm ieee-754

根据以下链接:

http://sonic.net/~jddarcy/Borneo/

http://www.cs.berkeley.edu/~wkahan/JAVAhurt.pdf

Java仅支持IEEE 754标准的适当子集。这是否意味着所有JVM语言都是如此? (问题是否可以在字节码级解决?)如果我想利用支持这些功能的硬件,有没有办法在Oracle的JVM上执行此操作?如果没有,叉子是否存在呢?

2 个答案:

答案 0 :(得分:5)

是的,所有JVM语言都是如此。全球旗帜不在那里。 不,没有办法解决这个问题。

更重要的是,不,你不应该。虽然卡汉教授可能是数值计算方面的专家,但他不是软件工程专家。他也无法预测未来。在当今的多核世界中,全球FP状态是very bad idea。为了符合要求,你必须人为地将每个线程的FP状态融合到一个全局状态,然后你就不能再可靠地处理个别错误了,所以你只需要摆脱困境。太棒了。

答案 1 :(得分:0)

如果您想利用JVM不使用的硬件特定功能,您可能需要使用C或程序集并通过JNI调用它。您的大多数代码仍然可以使用Java,但它不必解决所有问题。

注意:如果你出于性能原因这样做,你必须小心你的“改进”实际上并不慢(有时慢得多)