java的双亲委派机制
Posted 酷酷的狐狸
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java的双亲委派机制相关的知识,希望对你有一定的参考价值。
类加载器的双亲委派机制
1)启动类加载器:null(不是由java实现)
System.out.println(类名.class.getClassLoader().getParent().getParent());
启动类加载器加载java核心库(java路径下jre/lib、classes)
2)扩展类加载器:sun.misc.Launcher$ExtClassLoader@5010be6
System.out.println(类名.class.getClassLoader().getParent());
扩展类加载器加载java扩展类库(java路径下jre/ext、/jre/ext/classes)
3)应用类加载器:sun.misc.Launcher$AppClassLoader@18b4aac2
System.out.println(类名.class.getClassLoader());
应用类加载器加载环境变量classpath下面的类
java的加载顺序是:启动类加载器 -> 扩展类加载器 -> 应用类加载器,如果要加载的类名在三者都存在,那会按照此顺序,优先找启动类加载器,如果找到会返回结果,否则返回null,再在扩展类加载器查询结果,如果找到会返回结果,否则返回null,然后再去应用类加载器查询结果,如果找到会返回结果,否则返回异常。
以上是关于java的双亲委派机制的主要内容,如果未能解决你的问题,请参考以下文章