您好,登录后才能下订单哦!
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进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。