Java表达式求值器 汇总
2011-07-15 12:50
405 查看
一. Aviator 轻量级高性能Java表达式求值器
Aviator是一个轻量级的、高性能的Java表达式求值器,主要应用在工作流引擎节点条件判断、MQ中的消息过滤以及某些特定的业务场景中。
Aviator的设计思路跟利用GroovyObject的求值思路是一样的,通过编译并动态生成字节码的方式将表达式编译成一个类,然后反射执行这个类,因此会在效率上比纯解释执行的IKExpression好一些。
自从上次发布1.0后,还发过1.01版本,不过都没怎么宣传。这次发布一个2.0的里程碑版本,主要改进如下:
1、完整支持位运算符,与java完全一致。
2、优化了性能,平均性能提升100%,函数调用性能提升200%,最新的groovy和JEXL的性能测试看这里 http://code.google.com/p/aviator/wiki/Performance
3、添加了新函数,包括long、double、str等用于类型转换的函数,添加了string.indexOf函数。
4、完善了用户手册,更新了性能测试。
下载地址: http://code.google.com/p/aviator/downloads/list 项目主页: http://code.google.com/p/aviator/
用户指南: http://code.google.com/p/aviator/w/list
性能报告: http://code.google.com/p/aviator/wiki/Performance
源码: https://github.com/killme2008/aviator
二. BeanShell
BeanShell是一种Java 解释器,它包含的脚本语言基本与Java 语言兼容,具有体积小、简单、符合Java 风格等特点。类似的Java脚本技术还有DynamicJ等.
一个BeanShell实现的公式管理的系统文档:http://www.ibm.com/developerworks/cn/java/l-formula/
Aviator是一个轻量级的、高性能的Java表达式求值器,主要应用在工作流引擎节点条件判断、MQ中的消息过滤以及某些特定的业务场景中。
Aviator的设计思路跟利用GroovyObject的求值思路是一样的,通过编译并动态生成字节码的方式将表达式编译成一个类,然后反射执行这个类,因此会在效率上比纯解释执行的IKExpression好一些。
自从上次发布1.0后,还发过1.01版本,不过都没怎么宣传。这次发布一个2.0的里程碑版本,主要改进如下:
1、完整支持位运算符,与java完全一致。
2、优化了性能,平均性能提升100%,函数调用性能提升200%,最新的groovy和JEXL的性能测试看这里 http://code.google.com/p/aviator/wiki/Performance
3、添加了新函数,包括long、double、str等用于类型转换的函数,添加了string.indexOf函数。
4、完善了用户手册,更新了性能测试。
下载地址: http://code.google.com/p/aviator/downloads/list 项目主页: http://code.google.com/p/aviator/
用户指南: http://code.google.com/p/aviator/w/list
性能报告: http://code.google.com/p/aviator/wiki/Performance
源码: https://github.com/killme2008/aviator
二. BeanShell
BeanShell是一种Java 解释器,它包含的脚本语言基本与Java 语言兼容,具有体积小、简单、符合Java 风格等特点。类似的Java脚本技术还有DynamicJ等.
一个BeanShell实现的公式管理的系统文档:http://www.ibm.com/developerworks/cn/java/l-formula/
相关文章推荐
- 用栈来实现表达式求值【Java版】
- Java正则表达式例子汇总
- java实现表达式求值(算符优先算法,可计算int,double,float 形数据)
- 数据结构习作之应用 "栈(Stack)" 实现: 解析算术表达式及计算求值 (C#/Java) (技术含量少许)
- 利用栈实现算术表达式求值(Java语言描述)
- 设计模式-解析器 表达式求值 纯java手写Android计算器
- 数据结构中的栈,在解决很多问题都有用处,比如括号匹配,迷宫求解,表达式求值等等 java中有封装好的类,可以直接调用。
- 数据结构之应用 "栈(Stack)" 实现: 解析算术表达式及计算求值 (C#/Java)
- Java 计算数学表达式(字符串解析求值工具)
- java知识点汇总之六正则表达式
- [原创]表达式求值:经典算法 <Java版本>
- 利用栈实现算术表达式求值(Java语言描述)
- 表达式求值,Java实现
- 数据结构之应用 "栈(Stack)" 实现: 解析算术表达式及计算求值 (C#/Java)
- 算术表达式求值(中缀转后缀,后缀求值,java 栈实现)
- Java实现表达式求值(原创,跟书上的不一样)
- [置顶] Java表达式求值
- 数据结构之应用 "栈(Stack)" 实现: 解析算术表达式及计算求值 (C#/Java)
- Java 字符串算术表达式求值
- Java表达式求值