Nashorn项目
Nashorn项目的目的是在Java和原生JVM中实现一个轻量、高性能的JavaScript运行时。通过Nashorn,Java开发者可以在Java应用程序中嵌入JavaScript脚本,并能够开发独立的JavaScript应用程序(使用jrunscript命令行工具来执行)。
你可以通过以下命令获取Nashorn源码:
代码
hgclonehttp://hg.openjdk.java.net/nashorn/jdk8/nashornnashorn
或
hgfclonehttp://hg.openjdk.java.net/nashorn/jdk8nashorn~jdk8
hgclonehttp://hg.openjdk.java.net/nashorn/jdk8/nashornnashorn
或
hgfclonehttp://hg.openjdk.java.net/nashorn/jdk8nashorn~jdk8
详细信息:http://openjdk.java.net/projects/nashorn/
评价:
看了一下原文,似乎主要是利用新JVM中的MethodHandles和InvokeDynamic提升性能,功能上没说会有什么提升。如果是深度整合(比如说可以在Java里很方便地用JSON语法定义一个Map,或者能非常轻量快速地启动Javascript脚本引擎对一个字符串表达式求值),那还有点看头。如果只是让Javascript在JVM上跑,暂时看不出有什么实用价值。在统一编程方式方面,Node.js做得更好。Javascript在语言特性上与Java相比没有明显优势,甚至比Java更不符合直觉,不适合用来做DSL。实在想不出有什么现实场景让一个懂Java的人非要在后台嵌入Javascript不可。