开发效率提高
执行效率降低
一.反射机制的优点:
1.增加程序的灵活性和扩展性,降低模块间的耦合,可以在运行的过程中动态对类进行修改和操作;
2.提高代码的复用率,比如动态代理、spring管理bean,就是用到反射来实现的;
3.可以在运行时轻松获取任意一个类的方法、属性,并且还能通过反射进行动态调用;
4.反射机制是构建框架技术的基础所在,使用反射可以避免将代码写死在框架中。
二.反射机制的缺点:
1、性能问题。
Java反射机制中包含了一些动态类型,所以Java虚拟机不能够对这些动态代码进行优化。因此,反射操作的效率要比正常操作效率低很多。我们应该避免在对性能要求很高的程序或经常被执行的代码中使用反射。而且,如何使用反射决定了性能的高低。如果它作为程序中较少运行的部分,性能将不会成为一个问题。
2、安全限制。
使用反射通常需要程序的运行没有安全方面的限制。如果一个程序对安全性提出要求,则最好不要使用反射。
3、程序健壮性。
反射允许代码执行一些通常不被允许的操作,所以使用反射有可能会导致意想不到的后果。反射代码破坏了Java程序结构的抽象性,所以当程序运行的平台发生变化的时候,由于抽象的逻辑结构不能被识别,代码产生的效果与之前会产生差异。
4.破坏了封装性