加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

aviator 学习 第一章

发布时间:2020-12-14 16:54:10 所属栏目:大数据 来源:网络整理
导读:?介绍: ?定义:Aviator是一种开源的Java表达式求值器。 ?我将Aviator定位在Groovy这样全功能的脚本和IKExpression这样的简易的表达式求值之间的东西,如果你不希望带上Groovy那么庞大的jar却只用上一点点的功能,如果你希望功能和性能上比IKExpression好那


?介绍:

?定义: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();
        }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读