aviator 学习 第一章

来源:互联网 发布:mac os x iso镜像下载 编辑:程序博客网 时间:2024/05/17 02:15


 介绍:

 定义:Aviator是一种开源的Java表达式求值器。

 我将Aviator定位在Groovy这样全功能的脚本和IKExpression这样的简易的表达式求值之间的东西,如果你不希望带上Groovy那么庞大的jar却只用上一点点的功能,如果你希望功能和性能上比IKExpression好那么一些,那么也许你可以考虑Aviator。

    Aviator的设计思路跟利用GroovyObject的求值是一样,通过编译并动态生成字节码的方式将表达式编译成一个类,然后反射执行这个类,因此会在效率上比纯解释执行的IKExpression好一些。


  Aviator 2.2 API:  http://www.jarvana.com/jarvana/view/com/googlecode/aviator/aviator/2.2.0/aviator-2.2.0-javadoc.jar!/index.html


 具体的可以参考文章:http://www.blogjava.net/killme2008/archive/2010/06/29/324758.html


简单案例:

  public static void main(String args[]) {        try {            Expression exception = AviatorEvaluator.compile("a>b&&b<c?10:-10");            Map map = new HashMap();            map.put("a", 0);            map.put("b", 3);            map.put("c", 8);            System.out.println("result" + exception.execute(map).toString());        } catch (Exception e) {            e.toString();        }


原创粉丝点击