Java表达式求值器 汇总

来源:互联网 发布:手机淘宝客转链工具 编辑:程序博客网 时间:2024/05/21 00:49

一.  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/



原创粉丝点击