Nashorn vs Javascript vs ECMAScript [英] Nashorn vs Javascript vs ECMAScript

查看:111
本文介绍了Nashorn vs Javascript vs ECMAScript的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

Java8提供下一代JavaScript引擎作为nashorn。
我们可以使用以下代码获取此引擎:

Java8 provides Next-Generation JavaScript Engine as nashorn. We can get this engine with following code:

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

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

But i found that javascript and ECMAScript are also valid parameters for getEngineByName()

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

我的疑问是:


  • Nashorn,JavaScript和ECMAScript引擎有什么区别?

  • java提供其他引擎吗?

  • 哪一个更好用?

推荐答案

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

Javascript and ECMAScript are aliases for default JavaScript engine bundled with JVM. Java 8+ includes Nashorn engine, previous versions were using Rhino engine ("rhino"). Nashorn is much faster than Rhino, because it is compiling JavaScript into bytecode, instead of running in interpreter mode.

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

The fastest solution I know of to run JavaScript within JVM is J2V8 (https://github.com/eclipsesource/J2V8). JavaScript code runs within the V8 engine, the same one as is used by Node.js and Chrome. In our tests, it's about 2-3 times faster than Nashorn.

这篇关于Nashorn vs Javascript vs ECMAScript的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆