1、作用
ClassLoader负责向JVM提供所需class及文件对象,所有对象都首先加载到ClassLoader中。
ClassLoader是一个树形结构。
2、分类
ClassLoader分为BootStrap、Extension、App
BootStrap---------负责加载jdk的类
Extension----------负责加载/ext下的类
App ----------负责加载用户类
3、获取ClassLoader
this.getClass.getClassLoader(); //当前类的ClassLoader
Thread.currentThread().getContextClassLoader(); //当前线程的ClassLoader
ClassLoader.getSystemClassLoader(); //系统ClassLoader,即App ClassLoader
4、类初始化方法
//4.1、静态类加载
Class cls = Class.forName("com.test.A");
A a = (A)cls.newInstance();
//4.2、静态类加载
ClassLoader cl = this.getClass.getClassLoader();//或者其他两种方式
Class cls = cl.loadClass("com.rain.B");
B b = (B)cls.newInstance();
//4.3、new
A a = new A();
联系客服