您好,登錄后才能下訂單哦!
MVEL 和 FEL 是什么? 百度就知道哈。
EL是Expression Language 表達式語言,主要作用是動態解析表達式的引擎。
使用場景:
對于一些在代碼中動態加載xml資源等,資源是簡單的算術表達式+變量。就不需要用到腳本解析引擎(lua等),可以直接用EL。
如:
<item name="width">50</item> 這個width數值是固定50
<item name="width">50+button_width*3</item> 這個width數據就會根據代碼中button_width這個變量乘以3再加50 計算后動態賦值給width
當然EL還支持括號,開方,對數,指數等數學運算,所以可以很方便的進行動態計算。
EL的解析有: 編譯模式 和 解析模式 (FEL支持兩種模式 MVEL好像僅支持解析模式)
編譯模式:通過調用sun jdk1.6以上的tools.jar庫,將表達式動態編譯為.class ,直接運行。優點:效率高很多,缺點:需要庫支持(android不支持)。
解析模式:由于android不支持編譯模式,故只能用解析模式來實現表達式動態編譯。經過比對MVEL的效率是FEL的4-8倍。這個數據是在lenovo s960上測試的,代碼就是用不同的表達式,累計運算1000~10000次平均得出,所以建議在android上開發可以直接上MVEL,當然如果后期android支持編譯模式了。毫無疑問,還是要用FEL。FEL是國人開發,先支持下。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。