融合了 JavaScript 之力的 Nashorn 或被 JDK 11 弃用

还没有使用过 Nashorn ?如果感兴趣的话,建议尽快去尝试一下,因为 Jim Laskey 最近提交了一个新的 JEP 335 草案,准备弃用 Nashorn JavaScript 脚本引擎、API 以及该 jjs 工具。

172507_rkz5_2896879.png

从 JDK 6 开始,Java 就捆绑了基于 Mozilla 的 Rhino 的 JavaScript 引擎,该特性允许开发者将 JavaScript 代码嵌入到 Java 中,甚至从嵌入的 JavaScript 中调用 Java 。随着 JDK 8 的发布,Nashorn 取代 Rhino 成为 Java 的嵌入式 JavaScript 引擎。Nashorn 完全支持 ECMAScript 5.1 规范以及一些扩展,在发布之初被视为真正地融合了 Java 和 JavaScript 之力。因为相较于 Rhino ,它有着 2-10 倍的性能提升。

有意思的是,当年提议加入 Nashorn 的正是目前提议弃用该引擎的 Jim Laskey 。在 JEP 335 的描述中,Jim Laskey 表示随着 ECMAScript 语言的快速迭代以及 API 的调整和修改,Nashorn 已越来越具有挑战性,难以维护(兼容性)。他补充道,Nashorn 的弃用不会影响到 javax.script API 。

打算弃用的三个模块包括:

  • jdk.scripting.nashorn --包括 jdk.nashorn.api.scripting 和 jdk.nashorn.api.tree 包。

  • jdk.scripting.nashorn.shell -- 包含 jjs 工具。运行 jjs 将会出现以下警告:The jjs tool is planned to be removed from a future JDK release 。

  • jdk.dynalink -- 包含 Dynalink 支持库。

目前该 JEP 已在 OpenJDK 的邮件列表中进行讨论,我们将对其进度保持关注。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值