皇上,还记得我吗?我就是1999年那个Linux伊甸园啊-----24小时滚动更新开源资讯,全年无休!

2020 年第一个候选 Java 增强提案,删除 Nashorn JavaScript 引擎

Oracle 软件研发总监 Jim Laskey 提出了一项候选 Java 增强提案(JEP),要删除长期以来一直使用的 Nashorn JavaScript 引擎、相关 API 和jjs工具。这是 2020 年第一个进入候选名单的 JEP,并且比较成熟,有望在 JDK 15 中实施。

2020 年第一个候选 Java 增强提案,删除 Nashorn JavaScript 引擎

编号 JEP 372,该提案表示:Nashorn JavaScript 引擎最初通过 JEP 174 集成到 JDK 8 中,用以替代 Rhino 脚本引擎。当时它是 ECMAScript-262 5.1 标准的完整实现。但随着 ECMAScript 语言构造以及 API 的快速适应和修改,我们发现 Nashorn 难以维护。

根据该提议,两个 JDK 模块将被永久删除:

  • jdk.scripting.nashorn:包含 jdk.nashorn.api.scripting 与 jdk.nashorn.api.tree 包
  • jdk.scripting.nashorn.shell:包含 jjs 工具

但这一弃用将不会以任何方式影响 javax.script API。

Nashorn JavaScript 引擎发布时,其性能与之前的 Rhino 实现相比,提升达到 2 到 10 倍,这也是它能替代前者的原因之一,并且其采用也很广泛。但是在 2018 年 9 月发布的 JDK 11 中已经将其弃用(JEP 335),JEP 372 认为这么长的时间过去了,使用它的开发人员已经有足够的时间进行了迁移。

不过开发者对此有不同看法,有人认为 Java 一直以高度向后兼容闻名,不应该删除,有人吐槽公司还在使用 Rhino,也有人建议直接切换到 GraalVM,因为它是 JavaScript 与 Node 的更完整的实现,并且速度更快。

转自 https://www.oschina.net/news/113691/jep-372