目录

反射

反射

反射机制能够实现在运行时对类进行加载,因此可以大大的增加我们的程序的灵活性,一般情况下,程序中的对象的类型,在编译时期就已经确定下来了,当我们的程序在运行的时候,我们可能会动态的加载一些类,但是这些类在之前并没有用到,所以它没有加载到我们的虚拟机当中,这个时候就可以使用反射机制来进行加载。

主要应用场景:

  1. 反编译,将 class 文件转换为.java 文件
  2. 如 spring 当中的配置化,使用的就是反射这种机制来动态加载对象
  3. 编译器的联想,IDEA 自动联想类的方法或者属性的功能
1
2
反射性能差:JDK无法预测被调用的方法,因此无法优化。
反射在调用方法的时候,会忽略权限检查,也就啊说我们可以通过反射方法去调用一个类当中的私有方法。