17611538698
info@21cto.com

Oracle 推出 Project Detroit,用来实现 Java 与 JavaScript 及 Python 的快速互操作

编程语言 0 15 14小时前
图片

21CTO导读:Oracle 昨日发布 Java 26(一个短期版本),此外还推出了一个称为 Detroit 的项目,并承诺加快 Java、JavaScript 和 Python 之间的互操作性。

Java 26 的支持期仅为六个月,一直到今年晚些时候 Java 27 发布。下一个长期支持 (LTS) 版本的 Java 预计将于 2027 年 9 月发布,即 Java 29。

Oracle 软件开发副总裁伯纳德·特拉弗萨特在一次简报会上表示,Java 开发人员长期以来一直希望能够从 Java 来调用 JavaScript,并且随着人工智能的发展,他们也希望能够调用 Python 代码。虽然目前已经存在一些解决方案,但 Java 22 中引入的 FFM(外部函数和内存)API 比之前的 JNI(Java 本地接口)更集成、更易于使用,从而实现了“非常轻薄的层级结构,使用户能够调用 JavaScript,或者从 JavaScript 回调 Java”。

Oracle表示Detroit项目将作为OpenJDK项目提交,并将在加州红木城开幕的JavaOne大会上进行展示。该项目最初虽只支持JavaScript和Python,后续还将支持其他程序设计语言。

“我们在Detroit项目中采用的创新方法是将V8和CPython运行时直接嵌入到JVM进程中,”特拉弗萨特还告诉开发者们说。“过去我们曾推出过Nashorn项目,尝试在JVM之上完整实现JavaScript……挑战在于你始终在逆流而上,因为整个JavaScript生态系统基本上都是基于V8或Node.js构建的,而Node.js本身也是运行在V8上的。”

他还补充道,JavaScript 和 Python 语言的规范“不如 Java 语言完善”,导致“存在许多难以支持的特殊情况”。

而利用最流行的运行时环境则可以消除这个问题。

特拉弗萨特表示:“我们获得了非常好的性能和更好的安全模型。我们可以清楚地将Java堆与V8堆或CPython堆上运行的程序隔离开来。”

在即将来到的JavaOne 大会前夕,Oracle还推出了 Java 认证产品组合 (JVP),它被描述为一套“服务、库、框架、模块和工具”,这些产品和服务均经过支持和验证,可供企业使用。

JVP 包括 Project Helidon、JavaFX 以及 Visual Studio Code (VS Code) 的 Java 平台扩展。据了解,重新推出对 JavaFX(一个富媒体和图形框架)的商业支持,是因为人工智能和分析应用中对交互式可视化的需求日益增长。

另一项面向 Java 学习者的新功能是 VS Code Jupyter Notebook 中对 Java 的支持。此外,Java Playground 在线学习平台也新增了一项功能,允许用户与学生分享代码片段。

如今的人工智能已经无处不在,Oracle 热衷于将 Java 定位为与时俱进,并列举了 Helidon AI、用于将 Java 与大型语言模型集成的 Langchain4j、Spring AI 以及用于编写 AI 代理的 Embabel 框架等项目。

昨天刚推出的Java 26 本身新特性大多是对现有增强功能的增量式更新或预览版,例如模式和 switch 语句中的基本类型、Vector API 和结构化并发。HTTP 客户端 API 现在支持 HTTP/3。

不过,这里有个需要向人们说明的地方。

Java applet 这个API 已被正式移除。JEP  (Java 增强提案)504指出说:“它已经过时,因为无论是最新的 JDK 版本还是当前的 Web 浏览器都不支持 applet。” 

1995 年 Netscape 公司创建的 JavaScript最初的设计理念之一就是为了编写 Java applet 脚本,而Java applet 因各种原因早已不复存在。

但是新Detroit 项目表明,这两种语言之存在着互操作的强烈需求。 

作者:大雄

参考:

https://openjdk.org/jeps/504

评论

我要赞赏作者

请扫描二维码,使用微信支付哦。

分享到微信