JVM(入门篇02)类加载器ClassLoader 和 双亲委派机制.

1.ClassLoader

名称 负责 可访问
启动类加载器(Bootstrap) 将Java_home/lib的类库加载(比如rt.jar)加载到内存, 使用C/C++编写时JVM的一部分,不能访问
拓展类加载器(Extension) 将lib/ext 或者系统变量 java.ext.dir 指定的位置中的类库加载到内存中, 外部加载器使用Java编写,可以访问
应用加载器(Application) 负责将Classpath 的类(通常为自定义的类)加载到类库,因为这个类的加载器是getSystemCalssLoader()方法的返回值,所以也叫系统类加载器(System) Java 编写,可访问

更多细节查看Java 类加载过程 和 类的加载器ClassLoader(重点)

2.双亲委派机制

1.步骤
(1) 类加载器ClassLoader 收到加载类的请求
(2)类加载器将这个请求委托给父类加载器去完成,一直向上委托,直到启动类加载器(引导类加载器)
(3)启动类加载器检查是否可以加载这个类,能加载就结束,时候当前的加载器,不能加载就抛出异常通知子类加载器(ext 或者 app)进行jiaz
(4)重复步骤(3)

你可能感兴趣的:(JVM)