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>

        Fast EL表達(dá)式計(jì)算引擎

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

        fast-el 是輕量級(jí)的高效的表達(dá)式計(jì)算引擎,源自于企業(yè)項(xiàng)目,設(shè)計(jì)目標(biāo)是為了滿足不斷變化的功能需求和性能需求。

        Fel 是開放的,引擎執(zhí)行中的多個(gè)模塊都可以擴(kuò)展或替換。Fel 的執(zhí)行主要是通過(guò)函數(shù)實(shí)現(xiàn),運(yùn)算符(+、-等都是Fel函數(shù)),所有這些函數(shù)都是可以替換的,擴(kuò)展函數(shù)也非常簡(jiǎn)單。

        Fel 有雙引擎,同時(shí)支持解釋執(zhí)行和編譯執(zhí)行。可以根據(jù)性能要求選擇執(zhí)行方式。編譯執(zhí)行就是將表達(dá)式編譯成字節(jié)碼(生成java代碼和編譯模塊都是可以擴(kuò)展和替換的) 

        Fel基于 Java 1.5 開發(fā),適用于 Java 1.5 及以上版本。

        具體的測(cè)試數(shù)據(jù)請(qǐng)參見 http://code.google.com/p/fast-el/wiki/Performance

        特點(diǎn):

        易用性:API使用簡(jiǎn)單,語(yǔ)法簡(jiǎn)潔,和java語(yǔ)法很相似。

        輕量級(jí):整個(gè)包只有300多KB。

        高 效:目前沒(méi)有發(fā)現(xiàn)有開源的表達(dá)式引擎比Fel快。

        擴(kuò)展性:采用模塊化設(shè)計(jì),可靈活控制表達(dá)式的執(zhí)行過(guò)程。

        根函數(shù):Fel支持根函數(shù),“count(1,2,3)”在Fel中是常用的使用函數(shù)的方式。

        不足:

        支持腳本:否。

        支持?jǐn)?shù)組:否。Fel不支持類似于arrayi?這樣的語(yǔ)法,可以通過(guò)其他方法獲取數(shù)據(jù)值。后續(xù)版本可以改進(jìn)。

        支持三元表達(dá)式:否。后續(xù)版本可以改進(jìn)。

        適應(yīng)場(chǎng)景:

        Fel適合處理海量數(shù)據(jù),F(xiàn)el良好的擴(kuò)展性可以更好的幫助用戶處理數(shù)據(jù)。

        Fel同樣適用于其他需要使用表達(dá)式引擎的地方(如果工作流、公式計(jì)算、數(shù)據(jù)有效性校驗(yàn)等等)

        Fel使用例子:

        執(zhí)行四則表達(dá)式,代碼如下所示:

        1:常量表達(dá)式:

        FelEngine fel = new FelEngineImpl();
        Object result = fel.eval("5000*12+7500");
        System.out.println(result);

        輸出結(jié)果:67500

        2:變量

        使用變量,其代碼如下所示:
        FelContext ctx = fel.getContext();
        ctx.set("單價(jià)", 5000);
        ctx.set("數(shù)量", 12);
        ctx.set("運(yùn)費(fèi)", 7500);
        Object result = fel.eval("單價(jià)*數(shù)量+運(yùn)費(fèi)");
        System.out.println(result);

        輸出結(jié)果:67500

        瀏覽 64
        點(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>
            国产激情综合在线 | 国产奶头好大揉着好爽视频 | 国产成人无码www免费视频在线观看 | 国产豆花视频在线观看 | 强扒开腿挺进湿润的花苞 | 2014AV天堂网 | 人人妻人人澡人人爽 | 午夜成人精品一区二三区免费看 | 天天插天天插天天插 | 特黄AAAAAAA免费无码 |