Nashorn项目的目的是在Java和原生JVM中实现一个轻量、高性能的JavaScript运行时。通过Nashorn,Java开发者可以在Java应用程序中嵌入JavaScript脚本,并能够开发独立的JavaScript应用程序(使用jrunscript命令行工具来执行)。
你可以通过以下命令获取Nashorn源码:
代码
hg clone http://hg.openjdk.java.net/nashorn/jdk8/nashorn nashorn
或
hg fclone http://hg.openjdk.java.net/nashorn/jdk8 nashorn~jdk8
hg clone http://hg.openjdk.java.net/nashorn/jdk8/nashorn nashorn
或
hg fclone http://hg.openjdk.java.net/nashorn/jdk8 nashorn~jdk8
详细信息:http://openjdk.java.net/projects/nashorn/
评价:
看了一下原文,似乎主要是利用新JVM中的MethodHandles和InvokeDynamic提升性能,功能上没说会有什么提升。如果是深度整合(比如说可以在Java里很方便地用JSON语法定义一个Map,或者能非常轻量快速地启动Javascript脚本引擎对一个字符串表达式求值),那还有点看头。如果只是让Javascript在JVM上跑,暂时看不出有什么实用价值。在统一编程方式方面,Node.js做得更好。Javascript在语言特性上与Java相比没有明显优势,甚至比Java更不符合直觉,不适合用来做DSL。实在想不出有什么现实场景让一个懂Java的人非要在后台嵌入Javascript不可。
分享到:
相关推荐
一个简单的规则引擎对于我的项目之一,我需要一个简单的规则引擎。 我喜欢建立的 。 它使用并允许使用简单的英语定义规则。 在我的用例中,我有以下目标。 保持简单(KISS) 规则引擎作为微服务(可部署到云)。 ...
nashornscripting 使用一堆 Nashorn Javascript 文件进行项目,以使用 Nashorn 作为命令行脚本工具进行播放
nashorn-演示Nashorn 演示在
纳斯霍恩(Nashorn)+Ruby这是一个完整的仓库,可以客观地认为是坏主意。要求JDK8建造该项目使用来解决依赖关系并正确设置环境。 因此,您需要执行的所有操作是: % ./gradlew 它将运行默认的演示服务器
Nashorn脚本API片段 如果您在Java 8上运行AEM 6.1(或SP2或6.0),则可能要使用新的Nashorn JavaScript引擎来完成服务器端JS方面的工作。 不幸的是,即使nashorn.jar在系统类路径中,您也无法-OSGi容器中的捆绑包...
实现,请访问该项目。 更多详细信息可在 Eclair Nashorn 中获得。 从源代码构建 先决条件 (V1.6.0 为 Hadoop 2.6.0 及更高版本构建) git clone git@github.com:EclairJS/eclairjs-nashorn.git mvn package export ...
该项目演示了在浏览器和以Java运行的应用程序服务器之间共享验证逻辑。 除了客户端验证之外,还执行服务器端验证,以防止任何人尝试绕过客户端上JavaScript。 在服务器上,我们使用Nashorn执行与浏览器用来评分密码...
脚步创建一个新项目将必要的依赖项和插件添加到project.clj 为服务器功能添加Clojure命名空间添加函数以创建Nashorn JavaScript引擎并渲染Reagent组件创建一个函数以使用打ic来呈现HTML页面定义应用程序的服务器...
我们加载并运行一个完全外来的Java类,并在javascript(nashorn)中执行其方法之一,然后加载NPM模块并在JVM(nashorn)上执行它! Vert.x 3.0最简单的Gradle项目 该项目显示了一个使用Gradle的非常简单的hello ...
Nashorn针对Vert.xJavaScript实现 该项目使用Java 8中内置的Nashorn JavaScript引擎为Vert.x提供JavaScript API实现。 与所有Vert.x 3语言实现一样,它们是使用模板从Java API生成的-这使我们可以仅维护规范的Java ...
r2-dustjs 我有在JVM中使用JavaScript模板库的经验。 特别是,该项目是对与JDK 8 Nashorn链接的ust.js的实现。 在工作中...
带有 Jersey 1.18.1 和 Google Guice 3.0 的 RESTful Web 服务应用程序示例项目 包含的依赖项 小服务程序 2.5 泽西岛 1.18.1 吉斯 3.0 guice 持久化 3.0 gson 2.2.4 乔达时间 2.4 JUnit 4.10 要求 Java 7 ...
该应用程序是嵌入在Java应用程序中的简单JavaScript基准,它比较了GraalJS和Nashorn的性能。前提条件Linux或Mac OS设置克隆此存储库git clone https://github.com/graalvm/graal-js-jdk11-maven-demo移至新克隆的...
脚本猴子 介绍 Script Monkey是,可帮助在插件... 如果您正在寻找该项目的旧代码,请转到该项目的存储库 版本1.2.x WIP切换到Nashorn引擎 该源代码经过重新制作以与Nashorn兼容,因此此版本是实验性的。 它适用于IDEA
该项目仅用于学习java8,请随意Fork,更改 #博文地址 所有博客的源代码都能在这里 src/main/java/java8sample Chapter 1: 通往lambda之路_语法篇 Chapter 2: 深入解析默认方法 Chapter 3: 解开lambda最强作用的神秘...
mod-lang-nashorn.zip,不推荐使用使用nashorn js enginevert.x 2.x的javascript语言模块-改用
这个项目可以测试JUnit和Nashorn中JavaScript代码。 该项目取决于Spring Boot和IO Platform。 这个专案 加载在webjar, 在Nashorn中评估测试代码,(测试正在调用Sugar.js的方法) 通过Junit检查结果。 生成并...
-一个广泛的Java Slick2D自上而下的项目,具有内置的实体,actor和map框架和编辑器,以及触发器脚本功能以及其他模块和功能。 优点: 具有预制游戏逻辑和内置编辑器的实体模块,使您能够轻松处理所有类型的游戏...
然后,在任何引导项目中包含pandeiro/boot-test-cljs (或使用示例目录,包含在 repo 中): boot test-cljs -n app.tests或在具有自动测试和音频通知的开发工作流程中: boot watch speak test-cljs -n app.tests...
用编写的Adobe Experience Manager(“ ”)组件该项目使通过React渲染Adobe Experience Manager(“ AEM”)组件成为可能。地位 版本:0.4 API不稳定文献资料一个全面的正在开发中。部署/安装演示您可以从下载演示...