简单理解类的加载过程及getClassLoader的理解
我们都知道java程序写好以后是以.java(文本文件)的文件存在磁盘上,然后,我们通过(bin/javac.exe)编译命令把.java文件编译成.class文件(字节码文件),并存在磁盘上。
但是程序要运行,首先一定要把.class文件加载到JVM内存中才能使用的,我们所讲的classLoader,就是负责把磁盘上的.class文件加载到JVM内存中,如下图所示:
你可以认为每一个Class对象拥有磁盘上的那个.class字节码内容,每一个class对象都有一个getClassLoader()方法,得到是谁把我从.class文件加载到内存中变成Class对象的
Class<?> person = Person.class.getClassLoader().loadClass("Person");//这里的Person可以换成当前加载Person的类Test,无论是Person.class.getClassLoader()还是Test.class都是拿到Class这个对象后调用.getClassLoader()获得类的加载器,获得类加载器后去调loadClass()方法将Person类加载到JVM

参考文章:http://t.csdn.cn/rRP2k