认识反射

Posted by dingqiang.l on March 29, 2017

写在前面

在理解反射时,也要了解Java虚拟机的相关知识。

  1. 首先Java虚拟机有一个运行时数据区,分为方法区、堆区和栈区,每个类都会产生一个Class对象,就是保存在.class文件,所有的类都是在第一次使用时,动态加载到jvm中,然后提取class中的类型信息加载到方法区中;
  2. 反射就是程序在运行时用自我描述、自我修改的一种能力。可以通过反射的api得到Java虚拟机中的类的内部信息,不管是protected还是private修饰的,都能得到,但是这些信息只能在运行时才能得到。
  3. 要实现反射机制,就要借助4个类:Class类对象、Construct类的构造器、Field类的属性对象和Method类的方法对象。

写在最后

未完待续。。。