gpt4 book ai didi

java - Squeak 跨平台运行 "bit-identically"是什么意思,而 Java 却没有?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:36:37 25 4
gpt4 key购买 nike

艾伦·凯 points out “与 Java 不同,[Squeak] 在每台机器上的运行都完全相同——这是我们 20 年前发明的”。 wikipedia page还提到了这一点:

Squeak is available for many platforms, and programs produced on one platform run bit-identical on all other platforms.

由于具有不同指令集的机器显然无法在 native 运行位相同的程序,所以当有人说 Squeak 可以在不同的机器上以 Java 不能的方式运行位相同的程序时,这意味着什么?

我的印象是编译后的 Java 类在任何 JVM 上的任何机器上都以相同的方式运行,不是吗?

最佳答案

显而易见的解释是,在具有相同输入的不同机器上执行相同的图像将导致图像通过相同的位模式演化。 This post about Squeak's floating point math暗示 float 在不同平台上具有相同的表示。 Java 要求平台之间的语义相同,但允许非规范化表示。 Squeak 用于确保跨平台位相同浮点的库是 Sun 的库,Sun JVM 也使用它,尽管他们提到使用编译器设置进一步限制它。

关于java - Squeak 跨平台运行 "bit-identically"是什么意思,而 Java 却没有?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/662681/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com