原标题:Java新特性之Nashorn
Nashorn是什么
Nashorn,发音“nass-horn”,是德国二战时一个坦克的命名,同时也是java8新一代的java引擎–替代老旧,缓慢的Rhino,符合 ECMA-262 5.1 版语言规范。你可能想java是运行在web浏览器,提供对html各种dom操作,但是Nashorn不支持浏览器DOM的对象。这个需要注意的一个点。
关于Nashorn的入门
主要是两个方面,jjs工具以及javax.包下面的API:
jjs是在java_home/bin下面自带的,作为例子,让我们创建一个func.js, 内容如下:
function f() {
return 1;
};
print( f() + 1 );
运行这个文件,把这个文件作为参数传给jjs
jjs func.js
输出结果:2
另一个方面是javax.,也是以前Rhino余留下来的API
EngineManager manager = new EngineManager();
Engine engine = manager.getEngineByName( “Java” );
System.out.println( engine.getClass().getName() );
System.out.println( “Result:” + engine.eval( “function f() { return 1; }; f() + 1;” ) );