类加载器子系统的类加载机制(双亲委派机制)

本文介绍Java类加载器子系统中的三种类加载器:应用类加载器、启动类加载器和扩展类加载器。详细解释了类加载过程中遵循的双亲委派机制及其工作原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

类加载器子系统中默认有3中类加载器(应用类加载器,启动类加载器,扩展类加载器),且类加载器加载一个类需要遵循双亲委派机制,如下图:


当应用类加载器加载一个类时不会马上加载,而是先委派自己的父亲扩展类加载器加载,而扩展类加载器加载也不会马上加载而是委派父亲启动类加载器加载这个类,如果启动类加载器在自己的加载路径下没有找到这个类,那么会抛出异常给扩展类加载器,然后扩展类加载器在自己的加载路径下找这个类,找到就加载找不到就把异常抛给应用类加载器,如果应用类加载器加载器也找不到就会把异常抛给JVM虚拟机,这个异常就是java.lang.ClassNotFoundException(类找不到异常)

注意:我们自己写的类一般在classpath下面,所以说我们也写一个java.lang.String类的话不会那么类加载子系统,因为启动类加载器会在会在自己的路径下找到一个名字为java.lang.String的类,但是如果我们写的这个类也放在启动类加载器的类加载路径下,就会报错了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值