2020 年第一個候選 Java 增強提案

文章轉載自 OSCHINA 社區 [http://www.oschina.net]

Oracle 軟件研發總監 Jim Laskey 提出了一項候選 Java 增強提案(JEP),要刪除長期以來一直使用的 Nashorn JavaScript 引擎、相關 API 和jjs工具。這是 2020 年第一個進入候選名單的 JEP,並且比較成熟,有望在 JDK 15 中實施。

編號 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 的更完整的實現,並且速度更快。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章