了解java类的加载机制以及反射机制

谈起反射机制,首先要了解类的加载机制。
首先是了解Class、ClassLoader这两个类,其次接下来是首先要了解java程序的运行过程:
了解java类的加载机制以及反射机制

先了解ClassLoader的类加载机制:
了解java类的加载机制以及反射机制

可以写一个测试程序,右击run as,选择run configruation…
了解java类的加载机制以及反射机制
在VM arguments里写入-version:class,然后run,在控制台里面就能看到整个类的加载顺序以及过程。

接下来就是了解jdk内置的ClassLoader:
了解java类的加载机制以及反射机制

最后就是JDK中ClassLoader的层次关系(不是继承):
了解java类的加载机制以及反射机制
类的加载过程是,首先通过getParent()这个方法去找ParentClassLoader,如果他的ParentClassLoader已经加载了,就不需要加载;如果未加载,在找他ParentClassLoader的ParentClassLoader,重复以上操作。如果他的ParentClassLoader都没加载,最后才加载。

java的反射机制:
反射的作用:
运行期间,动态的加载一个类,动态地new一个对象,动态地调用对象里面的方法,动态地了解对象里面的结构
好处:
配置文件里面直接写类的名字,然后可以直接动态的把这个类加载进来。
(这里要提一下class.forName()方法是用来动态加载某一个类)