准备

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.

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容