Java调JS
JDK1.8 中Nashorn 比JavaScript性能更好
public static void main(String[] args) { long s = System.currentTimeMillis(); String a = "function d(a, b){ return a+b; } d(1,2)"; for (int i = 0; i < 100; i++) { System.out.println("JavaScript" + i +" : " + cal(a)); } System.out.println("用时:" + (System.currentTimeMillis() -s )); s= System.currentTimeMillis(); for (int i = 0; i < 100; i++) { System.out.println("Nashorn" + i +" : " + cal2(a)); } System.out.println("用时:" + (System.currentTimeMillis() -s )); } private final static ScriptEngine jse = new ScriptEngineManager().getEngineByName("JavaScript"); private final static ScriptEngine jse2 = new ScriptEngineManager().getEngineByName("nashorn"); public static Object cal(String expression){ try { return jse.eval(expression); } catch (ScriptException e) { e.printStackTrace(); } return null; } public static Object cal2(String expression){ try { return jse2.eval(expression); } catch (ScriptException e) { e.printStackTrace(); } return null; }