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.
网友评论