转 java ClassLoader
http://blog.csdn.net/xyang81/article/details/7292380
http://www.ibm.com/developerworks/cn/java/j-lo-classloader/
ClassLoader就是用来动态加载class文件到内存当中用的
Java 中的类加载器大致可以分成两类,一类是系统提供的,另外一类则是由 Java 应用开发人员编写的。系统提供的类加载器主要有下面三个:
- 引导类加载器(bootstrap class loader):又称启动类加载器,是Java类加载层次中最顶层的类加载器,等它用来加载 Java 的核心库,是用原生代码来实现的,并不继承自
java.lang.ClassLoader
。 - 扩展类加载器(extensions class loader):它用来加载 Java 的扩展库。Java 虚拟机的实现会提供一个扩展库目录。默认加载JAVA_HOME/jre/lib/ext/目下的所有jar。
- 系统类加载器(system class loader):它根据 Java 应用的类路径(CLASSPATH)来加载 Java 类。一般来说,Java 应用的类都是由它来完成加载的。可以通过
ClassLoader.getSystemClassLoader()
来获取它。