浅谈Java反射

1.静态编译:在编译时确定类型,绑定对象,即通过。
2.动态编译:运行时确定类型,绑定对象。动态编译较大限度发挥了Java的灵活性,体现了多态的应用,有以降低类之间的藕合性。
3.反射机制的优点:可以实现动态创建对象和编译,体现出很大的灵活性(特别是在J2EE的开发中它的灵活性就表现的十分明显)。通过反射机制我们可以获得类的各种内容,进行了反编译。对于JAVA这种先编译再运行的语言来说,反射机制可以使代码更加灵活,更加容易实现面向对象。
  比如,一个大型的软件,不可能一次就把把它设计的很完美,当这个程序编译后,发布了,当发现需要更新某些功能时,我们不可能要用户把以前的卸载,再重新安装新的版本,假如这样的话,这个软件肯定是没有多少人用的。采用静态的话,需要把整个程序重新编译一次才可以实现功能的更新,而采用反射机制的话,它就可以不用卸载,只需要在运行时才动态的创建和编译,就可以实现该功能。
4.反射机制的缺点:对性能有影响。使用反射基本上是一种解释操作,我们可以告诉JVM,我们希望做什么并且它 满足我们的要求。这类操作总是慢于只直接执行相同的操作。

深入分析Java方法反射的实现原理(可以很明显看出反射确实效率更低):

http://www.importnew.com/23902.html

原文地址:https://www.cnblogs.com/miaoying/p/8549454.html