是否有任何提示和技巧使犀牛表现更快?

是否有任何提示和技巧使犀牛表现更快? 我正在尝试使用Rhino中的uglifyJs压缩大型js文件,这需要一分多钟。 在java服务器端空间中你有任何关于rhino的提示或其他选择吗?

使用Rhino上的JavaScript API,您只需使用Compilable接口编译脚本Compilable 。 例如:

 public class CompileScript { public static void main(String[] args) throws ScriptException { ScriptEngineManager engineManager = new ScriptEngineManager(); ScriptEngine scriptEngine = engineManager.getEngineByName("js"); //cast to Compilable engine, this is safe for Rhino Compilable c = (Compilable) scriptEngine; CompiledScript script = c.compile("print('Hello World')"); //compile script.eval(); } } 

但是,当运行几次脚本时,这会带来好处。 基本上它减少了每次重新解释的开销。 从CompiledScript javadoc:

通过存储编译结果的类进行扩展。 状态可以以Java类,Java类文件或脚本语言操作码的forms存储。 脚本可以重复执行而无需重新分析。

无论如何,我认为你应该看一下Rhino JavaScript编译器 。 它“将JavaScript源转换为Java类文件”。

还有一个V8 Java实现。 检查jav8 。

V8

或尝试使用“编译”模式而不是“解释”模式。