首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Nashorn替代Java 11

Nashorn替代Java 11
EN

Stack Overflow用户
提问于 2019-10-01 07:16:36
回答 2查看 12.6K关注 0票数 15

我正在使用Java11中的Nashorn JavaScript引擎,它工作得很好,但它很快就会被废弃。我尝试过GraalVM,因为执行一个简单的表达式(例如2+3)需要13-14秒,所以我发现它更糟糕。是否还有其他可供选择的方法,或者是否应该使用其他方法(如果有的话)尝试GraalVM?

代码语言:javascript
复制
ScriptEngineManager mgr = new ScriptEngineManager();
ScriptEngine engine = mgr.getEngineByName("javascript");
engine.eval("2+3");
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-10-01 07:20:40

您可以使用犀牛替代

犀牛仍然是一个开源项目,因此有着社区参与的历史。对于某些用途,它显然是优越的,因为它的启动时间更快。

票数 3
EN

Stack Overflow用户

发布于 2020-08-09 10:18:36

更新(2022年6月):

到2022年,J2V8的维护似乎也很差。

最好把目光放在贾韦特

如果有人仍然认为这个问题相关,一个可行的、仍在积极维护的替代Nashorn/Rhino脚本引擎的方法是用于JVM的J2V8绑定。

工件可以找到这里 (确保使用此链接获得更新版本)

多平台支持是通过JNI构建的。

尽管它的机制与ScriptEngine API的机制略有不同,但性能(如预期的那样)更好。而且,您也不必处理一些奇怪的副作用,比如滥用API所导致的意外类加载。

我过去曾成功地使用过它。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58179771

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档