OpenJDK 发起 Nashorn 项目,在 Java 程序中嵌入 JavaScript

jopen 11年前

OpenJDK 的 HotSpot 团队领导人 John Coomes 近日在邮件列表中提议:创建 Nashorn 项目,由 Jim Laskey 任项目领导人,HotSpot 团队提供赞助支持。HotSpot 团队由参与 HotSpot 虚拟机(即 JDK/OpenJDK 中附带的 JVM)设计、实现和维护的开发者组成。

OpenJDK 发起 Nashorn 项目,在 Java 程序中嵌入 JavaScript

        John 称,根据 OpenJDK 的指导方针,准备启动一个新的项目——在 Java 和原生 JVM 中实现一个轻量、高性能的 JavaScript 运行时。该项目旨在通过 JSR-223(Scripting for the Java Platform)使 Java 开发者能够在 Java 应用程序中嵌入 JavaScript 脚本,并能够开发独立的 JavaScript 应用程序(使用 jrunscript 命令行工具来执行)。

        与 Rhino 项目(使用 Java 编写的 JavaScript 引擎,由 Netscape 在 1997 年启动,由 Mozilla 维护)不同的是,Nashorn 项目旨在充分利用原生 JVM 中的新技术,并将利用 JSR-292(Supporting Dynamically Typed Languages on the Java Platform)中的 MethodHandles 和 InvokeDynamic API。

        Nashorn 基于一个全新的代码库,其中包括了以下部分:

  • 一个用于扫描 JavaScript 源代码的解析器 API;
  • 一个用于转换 AST(抽象语法树)和 JVM 字节码的编译器;
  • 一个用于执行字节码的运行时。

        在 Nashorn 项目中,JavaScript 的执行将遵循 ECMA-262 5.1 标准,并会随着标准的发展,以适应最新的标准。该项目的源码库完全(100%)通过了 ECMAScript test262 的测试。

        Nashorn 项目最初来源于 Oracle 的内部项目,未来将会全部迁移到 OpenJDK 库。

        创建 Nashorn 项目只是 John Coomes 的提议,投票日期为 2012 年 12 月 6 日,届时将决定是否创建。

        详细信息:New Project: Nashorn

来自: www.iteye.com