1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        SimpleEL表達(dá)式解析引擎

        聯(lián)合創(chuàng)作 · 2023-09-28 20:26

        Simple EL是一個(gè)表達(dá)式解析引擎。它將表達(dá)式解析分成四個(gè)部分:預(yù)處理、編譯、緩存和執(zhí)行。這四個(gè)步驟任意一部分都可以替換,類似設(shè)計(jì)模式中的Template Method。

        缺省的實(shí)現(xiàn)是:將表達(dá)式處理成Java Source,調(diào)用Tools.jar的Javac API動(dòng)態(tài)編譯,緩存變異后反射得到的實(shí)例,使得表達(dá)式的解析速度和Java靜態(tài)編譯的速度接近。

        這是一個(gè)性能極致、擴(kuò)展性良好的表達(dá)式解析引擎。

        介紹項(xiàng)目的PPT:http://code.alibabatech.com/svn/SimpleEL/trunk/doc/SimpleEL.pptx 
        SVN:http://code.alibabatech.com/svn/SimpleEL 
        JIRA:http://code.alibabatech.com/jira/browse/SIMPLEEL 
        wiki:http://code.alibabatech.com/wiki/display/SimpleEL/Home 

        使用范例: 

        import com.alibaba.simpleEL.eval.DefaultExpressEvalService;  
        import com.alibaba.simpleEL.preprocess.DefaultVariantResolver.Type;  
          
        DefaultExpressEvalService service = new DefaultExpressEvalService();  
        service.regsiterVariant(Type.Integer, "a", "b"); // 注冊(cè)兩個(gè)類型為Integer的變量  
          
        Map ctx = new HashMap();  
        ctx.put("a", 3);  
        ctx.put("b", 4);  
          
        Assert.assertEquals(7, service.eval(ctx, "@a + @b"));
        瀏覽 38
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        編輯 分享
        舉報(bào)
        評(píng)論
        圖片
        表情
        推薦
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        編輯 分享
        舉報(bào)
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            hitomi大乳boobs | 开心五月综合激情网 | 91探花在线观看精彩直播 | 免费无码成人一区二区视频 | 国产高清卡一卡二 | 久久婷婷五月综合伊人 | 天天躁夜夜躁狂躁2022 | 国产大片久久久 | 亚洲大尺度在线 | 舔老师下面 |