【Java基础】 双亲委派机制

双亲委派机制

了解双亲委派机制前需要了解java的类加载器

类加载器

java文件是如何在JVM中运行的呢?
当编写的Java源代码被编译器编译成.class的字节码文件。然后由我们的ClassLoader(类加载器)负责将这些class文件给加载到JVM中去执行。

  • BootstrapClassLoader:启动类加载器,主要是负责加载JAVA_HONE/lib下面的jar包和class文件。加载java的核心库
  • ExtClassLoader:扩展类加载器,主要是负责加载JAVA_HONE/lib/ext下面的jar包和class文件。加载扩展库
  • appClassLoader:系统类加载器,主要是负责加载开发人员自己写的代码或者自己引入的jar包
  • CustomClassLoader:自定义类加载器,自己定义的类加载器

双亲委派机制

双亲委派:当类加载器加载.class文件时,首先会把文件委托给他们的父类加载器,一直向上委托,如果父类加载器没有加载该文件,自己再加载

  • 首先向上对父类加载器进行委派,实际上是看父类加载器是否加载了该类,如果加载了则返回,没有加载则继续向上委派
  • 委派到顶层后,查看缓存中是否存在该类,有则返回,没有则向下查找
  • 向下查找加载路径,有则返回,没有则继续向下查找
  • 回到最初的类加载器还是没有加载过,则由最初的类加载器进行加载

作用

  • 避免自己写的类替换核心类
  • 避免类的重复加载
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值