Nashorn 等同于 V8 吗?

Is Nashorn equivalent to V8?

Nashorn 与 V8

我想了解 Nashorn 和 V8 之间是否存在根本区别。除了前者用于 JVM 和后者用于 Node/Browser,这些 JavaScript 引擎之间的主要区别是什么?

它们可以互换吗? IE。是否可以在浏览器中使用 Nashorn,在 JVM 中使用 V8?

这里是 V8 开发人员。我对Nashorn几乎一无所知,所以无法给出全面的比较。

根据维基百科,Nashorn 是用 Java 编写的,因此在 JVM 上是 运行s。 V8 是用 C++ 编写并编译为本机代码。出于实际目的,这是一个非常根本的区别:Chrome 和 Node.js 都不包含 JVM,因此它们不能 运行 Nashorn。另一方面,V8 肯定不会成为 JVM 中 Nashorn 的直接替代品,因为它需要非常不同的机制来连接 Java 和 JavaScript 世界。所以正如@Pointy 所说,我不会称它们为 "interchangeable".

("Possible" 是一个非常模糊的问题。在软件中,技术上任何事情都是可能的,如果你愿意编写或重写足够多的代码......你唯一的限制是退休前的年数。如果你的问题是"easily possible",那么答案就是响亮的"no"。)