动态语言如javascript (可以在运行时候改变程序结构和变量类型)
c.java...不是动态语言,但是java的反射机制却带来了一些动态性。可见之前的帖子来了解反射。这里说反射实现动态性的代价。
我们知道框架大量用反射,反射很灵活但反射存在效率降低的问题。但是效率还有很多考虑,比如运行效率低了,但是开发效率高了,还有使用映射的框架往往在其他地方节约了时间,比如mybaits不需要多次打开连接数据库
反射调用的方法效率比普通方法的低30倍,但是反射里面的setAccessible(true)可以提高反射4倍的效率,任然慢7倍左右。
setAccessible(true)是安全检查跳过的意思