写点什么

Oracle 弃用 Nashorn JavaScript 引擎

  • 2018-06-17
  • 本文字数:1094 字

    阅读完需:约 4 分钟

Oracle 通过 JDK 增强提案(JEP)355 宣布弃用 Nashorn JavaScript 引擎,最终将从未来所有的 JDK 中删除。ECMAScript 的语言结构变化太快,Oracle 发现,维护 Nashorn JavaScript 引擎变得非常困难。

Nashorn 最初是在 JDK 8 中引入的,用于取代 Rhino 脚本引擎。当其发布时,Nashorn 是 ECMAScript-262 5.1 的完整实现,增强了 Java 和 JavaScript 的兼容性。最近还增加了新的 ECMAScript 6(ES6)特性。借助 Nashorn,开发人员可以从 JavaScript 调用 Java 代码,也可以从 Java 代码调用 JavaScript 函数。Nashorn 可以作为 Java 应用程序的嵌入式解释器,提供使用 Nashorn 命令行工具 jjs 从命令行运行 JavaScript 的能力。当在 Java 中对 JavaScript 代码求值时,Nashorn 实现了javax.script API。Oracle 表示,弃用 Nashorn 不会影响javax.script API。

移除 Nashorn 后,有些应用程序可能会因为需要 JavaScript 而无法运行。

具体要弃用的模块如下:

  • jdk.scripting.nashorn——包含jdk.nashorn.api.scriptingjdk.nashorn.api.tree包;
  • jdk.scripting.nashorn.shell——包含jjs工具;
  • jdk.dynalink——包含 Dynalink 支持库。

Oracle 实验室高级研究总监 Thomas Wuerthinger 表示, GraalVM 是一个不错的替代方案,与 Nashorn 相比,它的性能更好,与 ECMAScript 的兼容性也更好。虽然 GraalVM 现在还没有生产就绪,但 Wuerthinger 向开发者社区保证,在 Nashorn 真正弃用之前,基于 GraalVM 的 JavaScript 实现将在所有相关平台上实现生产就绪。

在 Nashorn 真正弃用之前,基于#GraalVM 的 JavaScript 实现将在所有相关平台上实现生产就绪。它将提供更好的性能,并且完全兼容 ECMAScript 的最新标准。

— Thomas Wuerthinger (@thomaswue) 2018 年 6 月 7 日

真正要在将来的 JDK 版本中删除相关的类型和模块,Oracle 会提交一份单独的 JEP。

开发社区的总体反应是担忧,尤其是那些在业务逻辑中大量使用了 Nashorn 的。Oracle 听上去愿意撤回 JEP 335,如果有足够的开发人员反馈的话。

还有一种选择是有一组可信赖的开发人员清楚表达今后维护 Nashorn 的愿望。如果那种情况在这份 JEP 完善之前出现,那么它还是可以撤回的。如果那是在这份 JEP 完善之后,但是在 Nashorn 被移除之前,则可以再提交一份 JEP 来逆转这次弃用。

按照 Oracle 的说法,Nashorn 的使用情况很难跟踪,因此,有任何回退都会及时发布通知,而不管 JEP 335 是否通过。使用 Nashorn 的开发人员应该向 Oracle 提供反馈,以便他们可以更好地了解 Nashorn 的使用情况。

感兴趣的读者可以通过 InfoQ Java 首页时刻关注所有 Java 相关的新闻。

查看英文原文: Oracle Deprecates the Nashorn JavaScript Engine

2018-06-17 11:247631
用户头像

发布了 1008 篇内容, 共 403.4 次阅读, 收获喜欢 345 次。

关注

评论

发布
暂无评论
发现更多内容

🚀 快速上手LangChain开发实战:1小时内掌握《Generative AI with LangChain》的核心!

Epsilla

人工智能 AI langchain rag Epsilla

Visio文件编辑查看工具:Visio Viewer for Mac 激活版

你的猪会飞吗

mac软件下载

vivo 互联网自研代码评审 VCR 落地实践

vivo互联网技术

git gitlab 代码评审 idea intellij VCR

基于 Paimon 的袋鼠云实时湖仓入湖实战剖析

袋鼠云数栈

数据湖 实时计算 实时数据 实时湖仓 paimon

Beyond Compare 4 文件同步对比(Beyond Compare 4 秘钥)

理理

Parallels Desktop 18虚拟机简称PD18 允许mac电脑进行多个操作系统开发和测试

理理

如何玩转云端文生视频、0码构建AI应用?华为云专家来揭秘

华为云开发者联盟

人工智能 云原生 华为云 华为云开发者联盟 企业号2024年6月PK榜

SSH安全远程登录与端口转发

左诗右码

SSH

阿里巴巴1688商品详情API返回值解析:商品信息实时更新与监控

技术冰糖葫芦

API Explorer API boy api 货币化 API 文档

工业元宇宙AI超级终端“派中心一体机”问世

科技汇

Microsoft Remote Desktop for mac远程连接 在不同设备之间轻松地共享文件和资源

理理

Mac苹果电脑 磁盘诊断和监测工具 DriveDx for mac 兼容m/intel

理理

观测云产品更新 | Pipelines、智能监控、日志数据访问等

观测云

智能监控 pipelines

火山引擎ByteHouse:新一代云数仓必不可少的五大核心能力

字节跳动数据平台

数据库 大数据 云原生 Clickhouse 数仓

Linux 下的性能监控与分析技巧

左诗右码

Linux

office2021破解版安装包 mac/win

理理

XMind 2024思维导图软件下载安装 xmind绿色破解版资源 Mac/win

理理

介绍几种 MySQL 官方高可用方案

Simon

MySQL 数据库 MySQL高可用

Databend 怎么看 OpenAI 收购实时数仓 Rockset?

Databend

突发,OpenAI宣布终止对中国提供服务,影响在哪里?

AR玩家

openai GPT Rokid Vision pro 炬目AR

漫步5G-A City,一份独属于上海的浪漫

脑极体

自研一款共享集群数据库,有多难?

Geek_2d6073

Adobe Creative Cloud(Adobe桌面应用程序ACC)轻松解决各种adobe安装问题

理理

低代码+定制:优化项目管理的新方案

天津汇柏科技有限公司

项目管理 低代码 软件开发定制

移动通信产业,需要通往AI时代的“波托兰海图”

脑极体

通信

Oracle弃用Nashorn JavaScript引擎_Java_Kesha Williams_InfoQ精选文章