准备

JVM:

ClassLoader:

基本概念

(1)  bootstrapClassloader 启动类加载器,加载核心api,以满足java 最基本的运行需求

(2) extClassloader 用来加载java的扩展api 也就是lib/ext中的类

(3) appClassloader 用来加载classpath 目录中的class的 

加载流程:

JVM 启动 ,bootstrap classloader 加载核心api并加载extClasslader 和applClassloader ;

然后调用ExtClassLoader 加载扩展api,最后appClassloader 加载Classpath 目录下的class

父类委托机制

优点:1、避免重复加载,父类加载之后就没有必要子classloader再加载一次

2、考虑到安全因素,如果不使用这种模式,则用户自己定义的类有可能加载一个自定的classloader.

你可能感兴趣的:(准备)