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
maven引用:
Xml代码 <dependency> <groupId>com.googlecode.aviator</groupId> <artifactId>aviator</artifactId> <version>2.0</version> </dependency>
顶
踩
MARK一下7 楼 calvinlyc 2011-07-14 19:04 引用这个其实应该就是类似于.Net中LINQ的东西吧,其实Java一直缺一个这样的工具6 楼 kjj 2011-07-14 18:05 引用一直还是beanshell 和bsf5 楼 snow8261 2011-07-14 12:36 引用mark 一下 4 楼 agile_boy 2011-07-14 11:49 引用mark 一下。3 楼 dennis_zane 2011-07-14 10:55 引用quxiaoyong 写道