1.什么是Java反射机制
Java反射机制指当程序在运行的时候,对任意一个类,都能知道该类中的属性和方法,对于任意一个对象都能调用其中的方法和属性。而这种动态获取类和对象信息的功能就叫Java反射机制。
2.反射机制的优缺点:
优点:运行时期,动态加载类,提高了代码的灵活性
缺点:性能瓶颈,反射机制时通过告知JVM进行下列操作,那么这样就比直接操作Java代码要慢上许多。
3.反射机制应用场景:
- 一般框架中使用反射机制最多,如Spring,hibernate。
- 模块化开发中,通过反射去调用对应的字节码
- 动态代理设计模式也采用了反射机制
①我们在使用
JDBC
连接数据库时使用
Class.forName()
通过反射加载数据库的驱动程序;
②
Spring
框架也用到很多反射机制, 经典的就是
xml
的配置模式。
Spring
通过
XML
配置模式装载
Bean 的过程:1.
将程序内所有
XML
或
Properties
配置文件加载入内存中
; 2,Java
类里面解析
xml
或 properties里面的内容,得到对应实体类的字节码字符串以及相关的属性信息
; 3.
使用反射机制,根据这个字符串获得某个类的Class
实例
; 4.
动态配置实例的属性
Java获取反射机制的方式
1.通过new对象
2.通过路径实现
3.通过类名