双亲委派机制

双亲委派机制

原理

  • 1、一个类加载器接收到类加载请求,它自己并不会先去加载,而是把这个请求委托给父类的加载器去执行
  • 2、如果父类的加载器还有其父类加载器,则进一步向上委托,一次递归,请求最终到达顶层的启动类加载器;
  • 3、如果父类加载器可以完成类加载任务,就成功返回,若无法完成加载任务,子加载器自己尝试去加载

(别人交代一个任务给你,你把它丢给别人去做。别人做不了,你才尝试去解决)

在这里插入图片描述
类加载器的分类:

1、启动类加载器(引导类加载器:BootStrap ClassLoader)

  • 使用c/c++实现
  • 用来加载java核心类库
  • 没有父类加载器
  • 作为扩展类加载器和应用程序加载器的父类
  • 只加载包名为java、javax、sun等开头的类

2、扩展类加载器

  • java语言编写
  • 父类加载器为启动类加载器
  • 从java.ext.dirs系统属性所指定的目录中加载类库,或从JDK的安装目录的jre/lib/ext子目录加载类库

3、应用程序类加载器

  • java语言编写
  • 父类加载器为扩展类加载器
  • 负责加载环境变量classpath或系统属性java.class.path指定路径下的类库
  • 是默认的类加载器。一般来说,java应用的类都是由它来完成加载

更多关于jvm的知识(带内存图,吐血整理)
https://blog.csdn.net/weixin_43304253/article/details/119609324

posted on 2022-08-28 22:20  热爱技术的小郑  阅读(34)  评论(0编辑  收藏  举报