【发布时间】:2020-01-27 14:57:37
【问题描述】:
据我了解,由于 JavaScript 具有动态特性,因此无法提前编译。因此解释和即时编译发生在运行时,这会影响 JavaScript 性能。所以 WebAssembly 应运而生。语言可以提前编译成中间格式(WASM)。这提供了良好的性能,因为运行时开销更少。
我的问题是为什么不能使用 JVM 代替 WebAssembly VM。 Java 编译成中间格式(字节码)。这个字节码可以提供给浏览器,JVM可以执行。 JVM 还支持 JIT,这有助于实现接近原生的性能。
那么对新的 WebAssembly 有什么需求。为什么JVM不能集成到浏览器中,利用现有最流行的Java语言实现高性能。
【问题讨论】:
-
JVM当然可以集成到Web浏览器中,没有技术上的不可能性。虽然,在 JVM 中运行的字节码总是比本地机器编译的代码慢,但我认为主要原因可能是政治原因(不想在网络上放很多应该保持中立/免费的 Java/Oracle?)有趣的问题无论如何:)
-
看来 WASM 的性能实际上并没有(原生)那么好,所以我倾向于真正考虑政治问题 :)
-
时间到了,Java 也将编译为 WASM。
-
@jayarjo 除了商标相关的原因,我想我们不会被允许称之为Java:/
-
网络应该是打开的。甲骨文是有史以来最不开放的科技公司。
标签: javascript jvm webassembly