Java双亲委派机制,为什么要委派?为什么要打破它?

面试中经常会问到的关于,Java类的加载器有哪些的 ?什么是双亲委派机制、为什么要有双亲委派机制,如何打破它的?要想真的搞清楚这些。

类加载器

类加载的过程如下:类加载器就是将Java的字节码文件加载为java.lang.Class实列的文件,其过程如下的
在这里插入图片描述
类加载器的特点如下所示:

  • 动态加载,无需在程序一开始运行的时候加载,而是在程序运行的过程中,动态按需加载,字节码的来源也很多,压缩包jar、war中,网络中,本地文件等。类加载器动态加载的特点为热部署,热加载做了有力支持。
  • 全盘负责,当一个类加载器加载一个类时,这个类所依赖的、引用的其他所有类都由这个类加载器加载,除非在程序中显式地指定另外一个类加载器加载。所以破坏双亲委派不能破坏扩展类加载器以上的顺序。

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

双亲委派机制

什么是双亲委派机制的?
当某个特定的类加载器在接收到需要加载类的请求的时候,这个类会首先查看自己已经加载完成的类中是否包含这个类,如果有就返回, 没有的话就把加载的任务交给父类的加载器加载,以此来进行递归,父类的加载器若可以完成类的加载,就直接的返回它,若父类无法完成的话此加载任务的话,才会不得已自己去加载。这种机制称为双亲委派机制
在这里插入图片描述
查看类加载器的路径

    public static void main(String[] args) {
   
        ClassLoader parent = ClassLoader.getSystemClassLoader().
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值