輕量級Java表達式求值器Aviator 2.0版本發(fā)布
Aviator是一個輕量級的、高性能的Java表達式求值器,主要應用在工作流引擎節(jié)點條件判斷、MQ中的消息過濾以及某些特定的業(yè)務場景中。
Aviator的設計思路跟利用GroovyObject的求值思路是一樣的,通過編譯并動態(tài)生成字節(jié)碼的方式將表達式編譯成一個類,然后反射執(zhí)行這個類,因此會在效率上比純解釋執(zhí)行的IKExpression好一些。
自從上次發(fā)布1.0后,還發(fā)過1.01版本,不過都沒怎么宣傳。這次發(fā)布一個2.0的里程碑版本,主要改進如下:
1、完整支持位運算符,與java完全一致。
2、優(yōu)化了性能,平均性能提升100%,函數(shù)調用性能提升200%,最新的groovy和JEXL的性能測試看這里 http://code.google.com/p/aviator/wiki/Performance
3、添加了新函數(shù),包括long、double、str等用于類型轉換的函數(shù),添加了string.indexOf函數(shù)。
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 寫道