有没有一种方法可以缓存在Nashorn中计算的脚本,以避免对同一脚本进行两次计算?
例如,我有一些js库,它可以做一些事情。我想对Library进行一次评估,然后在我想要的每个文件上重用它。
public void modifyFile(String inputFile){
scriptEngine = new ScriptEngineManager().getEngineByName("nashorn");
bindings = scriptEngine.createBindings();
scriptEngine.eval(new FileReader("css-lib.js"),bindings);
bindings.put(INPUT, readFile(inputFilePath, StandardCharsets.UTF_8));
scriptEngine.getContext().setWriter(new StringWriter());
executeScript(COMPRESS_SCRIPT_PATH, scriptEngine, bindings);
}发布于 2016-07-21 11:03:56
如果您在同一脚本上“计算”两次,Nashorn引擎将运行该脚本两次!但是,计算两次并不意味着编译(到字节码)两次。Nashorn确实会缓存已编译的表示形式并进行重用。
https://stackoverflow.com/questions/38345307
复制相似问题