<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

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

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

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

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

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

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

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

          特點:

          易用性:API使用簡單,語法簡潔,和java語法很相似。

          輕量級:整個包只有300多KB。

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

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

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

          不足:

          支持腳本:否。

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

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

          適應(yīng)場景:

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

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

          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("單價", 5000);
          ctx.set("數(shù)量", 12);
          ctx.set("運費", 7500);
          Object result = fel.eval("單價*數(shù)量+運費");
          System.out.println(result);

          輸出結(jié)果:67500

          瀏覽 64
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  欧美操在线观看 | 高潮喷水在线观看 | 青青草自拍偷拍 | 成人午夜又粗又硬又大 | 99在线观看免费高清 |