Java8 - nashorn引擎
来源:互联网 发布:小学生计算机编程教材 编辑:程序博客网 时间:2024/05/16 11:42
在实际工作的项目中经常会碰到一些规则,这些规则按笔者经验有如下解决方案:
1,通过设计模式处理,如策略模式+模板方法。
2,通过规则引擎,如drools
3,通过JS引擎
从JDK 8开始,Nashorn取代Rhino成为Java的嵌入式JavaScript引擎,带来了2到10倍的性能提升。相比复杂的设计模式和drools引擎,新的Nashorn引擎方案在实际项目中是不错的选择。
import javax.script.Invocable;import javax.script.ScriptEngine;import javax.script.ScriptEngineManager;public class JsUtils { private static final ScriptEngineManager ENGINE_MANAGER = new ScriptEngineManager(); private static final ThreadLocal<ScriptEngine> LOCALS = new ThreadLocal<ScriptEngine>() { @Override protected ScriptEngine initialValue() { return ENGINE_MANAGER.getEngineByName("nashorn"); } }; public static boolean test(final String script, final int val) { try { ScriptEngine engine = LOCALS.get(); engine.eval(script); return (boolean) ((Invocable) engine).invokeFunction("test", val); } catch (Exception e) { e.printStackTrace(); } return false; } public static void main(String[] vargs) { String scrips = "function test(val){return val>=100;}"; System.out.print(JsUtils.test(scrips, 120)); }}
0 0
- Java8 Nashorn JavaScript引擎
- Java8 - nashorn引擎
- Java8新JavaScript引擎nashorn使用实例
- java8 新特性 v8 nashorn 引擎(五)
- Java8 新特性之七---------Nashorn JavaScript引擎、Base64、并行数组
- java8使用nashorn与javascript直接交互
- Java 8 Nashorn Javascript脚本引擎
- Nashorn:JVM上的下一代javascript引擎
- JDK8命令行工具 --Nashorn引擎:jjs
- java中使用javascript Nashorn引擎
- Java 8的Nashorn脚本引擎教程
- Java 8 的 Nashorn 脚本引擎教程
- 优化Java调用Nashorn引擎的性能
- Java8:使用新JS解释器Nashorn编译Lambda表达式
- Jim Laskey提议将Nashorn作为OpenJDK的JavaScript引擎
- 一篇文档掌握Jdk8中Javascript引擎Nashorn的用法
- Nashorn 引擎中对javascript Object的实现
- 使用Java8的javascript引擎
- FreeCMS视频教程 还原数据库 sqlserver
- Intent返回数据给上一个活动<IntentputExtra>
- 关于多表查询sql常用的连接语句:左外连接、右外连接、内连接
- Java通过反射将类转化成map
- Qt-单例模式
- Java8 - nashorn引擎
- GeoTools读取ESRI ShapeFile中文乱码解决方法
- mysql语句
- Java中的多线程你只要看这一篇就够了
- C#索引器
- iOS 调用TouchID 身份验证
- 自定义view中的onmessure方法
- jQuery EasyUI使用教程之在树网格中延迟加载节点
- ionic之$ionicLoading实现加载动画