JVM中classloader双亲委派

Linux大全评论287 views阅读模式

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路径)

企鹅博客
  • 本文由 发表于 2020年4月27日 00:26:08
  • 转载请务必保留本文链接:https://www.qieseo.com/180559.html

发表评论