Java Nashorn–Part 1

陪同 Java 8 的颁布,Oracle 也共同发布了 Nashorn,它是于 Java
虚拟机上运行 Javascript 语言的一个发动机。Nashorn
的计划是以替换最初的周转于 JVM 上的品类——被誉为 Rhino(Nashorn 是
rhino 的德语中之辞藻)。
Nashorn 完全还写及贯彻,谋求与 Java 的高效的交互性,精准地确保与
JavaScript ECMA 规范之一致性。Nashorn 是第一单达到 100% 遵从 JavaScript
的专业,并且于多边工作量及运行速度是 Rhino 的20倍之多。

介绍Nashorn

以JVM 上运行的非 Java 语言

事实上,有广大非 Java 的语言运行在 JVM
上,有众多言语看起不同与Java,例如 JavaScript。这便设 Java 和 JVM
保持松耦合提供了说不定,并且确实通过类似文件格式的概念进行交互。
这里可以透过个别栽不同的方法贯彻:

  • 源语言具有在Java中落实之解释器。解释器在 JVM上
    运行,并实行因自语言编写的次第。
  • 源语言附带有一个编译器,它于源语言代码的单元生成类文件。生成的编译类文件然后以JVM上直接执行,这一般需部分分外的言语特定的运作时支持。
    Nashorn 采用第二栽办法,
    但是加了细化,编译器在运行时中,所以JavaScript
    源代码从不在程序执行开始之前编译。 这代表非是专门为 Nashorn 编写的
    JavaScript 仍然可以轻松地部署于凉台及。

注意:
Nashorn 不像许多旁 JVM
语言(如JRuby),因为它们不实现其他形式的解说>器。 Nashorn 总是用
JavaScript 编译为 JVM 字节码,并直接执行字节码。

Nashorn 的动机

Nashorn 于 Java 和 JVM 生态系统中提供多用处。

  1. 率先,它呢 JavaScript 开发人员提供了一个实用之条件来打 JVM
    的雄强作用。
  2. 次,它若公司会继续使用他们针对 Java 技术之现有投资,同时另外利用
    JavaScript 作为支付语言。
  3. 说到底,它也 HotSpot JVM
    中之高等虚拟机技术提供了一个光辉的工程展示。
    趁着 JavaScript
    的持续增长以及采用,从浏览器的风土民情首页扩展及重通用的计和劳务器端,Nashorn
    在存活的坚如磐石的Java生态系统和有前景的新技巧中架从了英雄的大桥。

在 Nashorn 下执行 JavaScript

联网下会介绍 Nashorn 的周转环境,还有个别栽实施 JavaScript
的道(这点儿种植办法还见面当 JAVA_HOME 环境变量下之 bin 目录里行):

  1. jrunscript:执行以.js 结尾的 JavaScript 脚本
  2. jjs:一个又多效益的 shell –
    适用于运作脚本和作一个相,实时代码预览功能环境与探索 Nashorn
    其他力量。

相关文章