java语言的伪动态性(和反射实现动态性的代价)

动态语言如javascript   (可以在运行时候改变程序结构和变量类型)

c.java...不是动态语言,但是java的反射机制却带来了一些动态性。可见之前的帖子来了解反射。这里说反射实现动态性的代价。

我们知道框架大量用反射,反射很灵活但反射存在效率降低的问题。但是效率还有很多考虑,比如运行效率低了,但是开发效率高了,还有使用映射的框架往往在其他地方节约了时间,比如mybaits不需要多次打开连接数据库

反射调用的方法效率比普通方法的低30倍,但是反射里面的setAccessible(true)可以提高反射4倍的效率,任然慢7倍左右。

setAccessible(true)是安全检查跳过的意思

原文地址:https://www.cnblogs.com/zhuzihan/p/9036672.html