偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

性能可以媲美Java的表達(dá)式引擎:Fel 0.7.1發(fā)布

開發(fā) 后端
Fel(Fast Expression Language)是開放的、高效的、輕量級的表達(dá)式語言。擁有解釋執(zhí)行和編譯執(zhí)行雙引擎。Fel在編譯執(zhí)行時(shí),做了很多優(yōu)化,適合處理海量數(shù)據(jù)。Fel擴(kuò)展性強(qiáng),用戶可以定制Fel執(zhí)行時(shí)的眾多環(huán)節(jié),以滿足需求。Fel學(xué)習(xí)門檻非常低,基本上可以做到拿來即用,即使是二次開發(fā),也非常簡單。Fel基于Java1.5開發(fā),適用于Java1.5及以上版本。

簡  介

Fel(Fast Expression Language)是開放的、高效的、輕量級的表達(dá)式語言。擁有解釋執(zhí)行和編譯執(zhí)行雙引擎。Fel在編譯執(zhí)行時(shí),做了很多優(yōu)化,適合處理海量數(shù)據(jù)。Fel擴(kuò)展性強(qiáng),用戶可以定制Fel執(zhí)行時(shí)的眾多環(huán)節(jié),以滿足需求。Fel學(xué)習(xí)門檻非常低,基本上可以做到拿來即用,即使是二次開發(fā),也非常簡單。Fel基于Java1.5開發(fā),適用于Java1.5及以上版本。

Fel是輕量級的高效的表達(dá)式計(jì)算引擎。

Fel在源自于企業(yè)項(xiàng)目,設(shè)計(jì)目標(biāo)是為了滿足不斷變化的功能需求和性能需求。

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

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

Fel基于Java1.5開發(fā),適用于Java1.5及以上版本。

Fel有多快?

通常情況下,F(xiàn)el-0.7.1每秒可以執(zhí)行千萬次表達(dá)式。速度是Jexl-2.0的20倍以上。

性能可與Java媲美。

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

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

為何要使用Fel? 

  • Fel語法和API非常簡單,語法與Java基本相同,幾乎沒有學(xué)習(xí)成本。
  • Fel非常快,上面已經(jīng)做了簡單說明。
  • Fel整個(gè)包只有300多KB。
  • Fel可以非常方便的訪問數(shù)組、集合、Map的元素和對象的屬性。
  • Fel可以非常方便的調(diào)用對象的方法和類方法(如果這些還不夠,可以添加自定義函數(shù))。
  • 擴(kuò)展Fel非常容易,擴(kuò)展和修改Fel都非常簡單。

1:算術(shù)表達(dá)式:

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

輸出結(jié)果:67500

2:變  量

使用變量,其代碼如下所示:

  1. FelContext ctx = fel.getContext();      
  2. ctx.set("單價(jià)"5000);      
  3. ctx.set("數(shù)量"12);      
  4. ctx.set("運(yùn)費(fèi)"7500);      
  5. Object result = fel.eval("單價(jià)*數(shù)量+運(yùn)費(fèi)");      
  6. System.out.println(result);  

輸出結(jié)果:67500

3:調(diào)用JAVA方法

  1. FelEngine fel = new FelEngineImpl();     
  2. FelContext ctx = fel.getContext();     
  3. ctx.set("out", System.out);     
  4. fel.eval("out.println('Hello Everybody'.substring(6))");   

輸出結(jié)果:Everybody

更多內(nèi)容請參考:

項(xiàng)目主頁:http://code.google.com/p/fast-el/

下載Fel:http://fast-el.googlecode.com/files/fel-all-0.7.1.jar

性能測試:http://code.google.com/p/fast-el/wiki/Performance

【編輯推薦】

  1. jsoup 1.6.2發(fā)布 最棒的Java HTML解析器
  2. JActor 2.2.0 RC3發(fā)布 Actor模式的Java實(shí)現(xiàn)
  3. LogicalDOC 6.4發(fā)布 Java開源文檔管理系統(tǒng)
  4. Resin 4.0.27發(fā)布 Java應(yīng)用服務(wù)器
  5. LibrePlan 1.2.2發(fā)布 Java開源項(xiàng)目計(jì)劃和管理

 

責(zé)任編輯:林師授 來源: 51CTO
相關(guān)推薦

2012-03-01 09:42:21

JavaApache Whir

2012-03-01 09:48:55

JavaExpressionJ

2012-03-05 10:59:36

JavaExpressionJ

2012-03-06 09:15:25

ExpressionJJava

2012-03-12 12:49:14

JavaExpressionJ

2012-03-06 15:34:05

JavaFreeMarker

2012-01-05 10:26:26

JavaApache

2012-03-09 09:47:51

Apache CameJava

2011-09-16 15:55:09

Java

2011-10-27 10:02:58

Apache Derb

2009-09-16 17:15:57

正則表達(dá)式引擎

2012-04-13 09:05:41

LuceneJava

2011-01-14 09:53:21

傲游3

2009-06-21 13:37:53

2011-11-02 17:08:48

OpenBSD發(fā)布

2009-09-27 13:41:55

Eclipse 3.5

2009-02-25 09:35:12

LinuxBASH 4.0OS X v10.4

2012-03-15 16:46:02

JavaMyBatis

2011-11-21 17:24:13

Java MEJavaSDK

2011-06-07 10:07:06

LibreOffice
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號