【问题标题】:Nashorn vs Javascript vs ECMAScriptNashorn vs Javascript vs ECMAScript
【发布时间】:2017-02-16 17:56:18
【问题描述】:

Java8 提供下一代 JavaScript 引擎作为 nashorn。 我们可以通过以下代码获得这个引擎:

ScriptEngineManager engineManager = new ScriptEngineManager(); 
ScriptEngine engine = engineManager.getEngineByName("nashorn");

但我发现 javascriptECMAScript 也是 getEngineByName() 的有效参数

ScriptEngine engine = engineManager.getEngineByName("javascript");
ScriptEngine engine = engineManager.getEngineByName("ECMAScript");

我的查询是:

  • Nashorn、JavaScript 和 ECMAScript 引擎有什么区别?
  • java 是否提供其他引擎?
  • 哪个更好用?

【问题讨论】:

    标签: javascript java


    【解决方案1】:

    JavascriptECMAScript 是与 JVM 捆绑的默认 JavaScript 引擎的别名。 Java 8+ 包括 Nashorn 引擎,以前的版本使用 Rhino 引擎(“rhino”)。 NashornRhino 快得多,因为它是将 JavaScript 编译成字节码,而不是在解释器模式下运行。

    我所知道的在 JVM 中运行 JavaScript 的最快解决方案是 J2V8 (https://github.com/eclipsesource/J2V8)。 JavaScript 代码在 V8 引擎中运行,与 Node.js 和 Chrome 使用的相同。在我们的测试中,它比 Nashorn 快了大约 2-3 倍。

    【讨论】:

    • 嗯,我不确定这种快速比较。我刚刚读到benchmark 说的不止这些
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-02-07
    • 2013-12-08
    • 2018-02-11
    • 1970-01-01
    • 2011-02-24
    • 2014-06-04
    • 1970-01-01
    相关资源
    最近更新 更多