【Java面试题】java的反射机制

1.什么是反射

反射是在运行的时候,知道要操作的类是什么,并且在运行时获取类的完整构造,并调用对应的

方法

2.反射的主要功能

1. 在运行时判断任意一个对象所属的类

2.在运行时构造任意一个类的对象

3.在运行时判断任意一个类的成员变量和方法

4.在运行时调用任意一个对象的方法,通过反射可以调用private修饰的方法

5.生成动态代理

3.反射的应用

1.spring框架里的IOC(控制反转)是基于反射创建对象和设置依赖属性

2.spring mvc 的请求是通过反射调用对应的方法

3.JDBC的class.forName 和 spring className方法也是通过反射的

4.反射的优点

增加程序的灵活性,避免将程序写死到代码里

5.反射的缺点

性能上:

反射适用于对灵活性和拓展性很高的系统框架上,普通程序不建议使用

反射包括了一些动态类型,JVM无法对这些代码进行优化

内部暴露:

反射可以访问私有的属性和方法,可能会带来副作用,比如代码有功能上的错误,降低可移植性

你可能感兴趣的:(Java面试题,java,面试,开发语言)