温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

MVEL和FEL简易对比

发布时间:2020-07-05 19:23:58 来源:网络 阅读:2119 作者:cfy10 栏目:开发技术

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是国人开发,先支持下。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI