据我所知,JavaScript不能提前编译,因为它是动态的,所以解释和编译都是在运行时进行的,这影响了JavaScript的性能。所以WebAssembly出现在图片中。语言可以提前编译成中间格式(WASM)。这提供了良好的性能,因为运行时开销较少。
我的问题是为什么JVM不能代替WebAssembly VM。Java编译成中间格式(字节码)。这个字节码可以给浏览器,JVM可以执行它。JVM还支持JIT,这有助于实现近乎本地的性能。
那么,对新WebAssembly的需求是什么呢?为什么JVM不能集成到浏览器中,并利用现有最流行的Java语言来实现高性能。
发布于 2019-09-27 12:28:25
JVM不被认为是代替WebAssembly的合适运行时的原因有很多.
作为一个普遍的观察,WebAssembly被设计为支持网络上的多种语言。JVM旨在支持桌面上的Java。从更普遍的意义上说,这两者都不能比另一个更好。
最后,JVM与浏览器(Java )集成在一起,但最终没有成功!
发布于 2019-09-27 10:06:26
引用高层次目标 of WebAssembly的话:
标准的最低可行产品(MVP),其功能与asm.js大致相同,主要目标是C/C++;
因此,他们最初的目标是在web浏览器中运行C/C++程序,而不是运行Java代码。
发布于 2022-03-06 02:56:58
JVM可以运行:
不幸的是,对java的支持被从浏览器中删除,因为Sun (java的前维护者)无法提供足够的支持。
就像闪电侠输了一样。
https://stackoverflow.com/questions/58131892
复制相似问题