首页 > 代码库 > JVM中classloader双亲委派
JVM中classloader双亲委派
public class Test { public static void main(String[] args) { // TODO Auto-generated method stub ClassLoader cl = Test.class.getClassLoader(); while(cl!=null) { System.out.println(cl.getClass().getName()); cl = cl.getParent(); } System.out.println(cl); }}
以上这段程序运行的结果是:
sun.misc.Launcher$AppClassLoader -->表示Test类的类加载器是AppClassLoader
sun.misc.Launcher$ExtClassLoader -->表示AppClassLoader的类加载器是ExtClassLoader
null -->表示ExtClassLoader的类加载器是BootstrapClassLoader
classloader的体系结构如下
bootstrap classloader(java核心类) native 是由另外一种语言实现的本地方法
|
ext classloader(java 扩展类)
|
classpath appclassloader(应用路径下)
|
uri classloader(uri路径)
所以一般情况下,在classpath下的class都会通过appclassloader去加载
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。