4. 虚拟机类加载机制(二)

介绍Java中类加载器的概念及其分类,包括启动类加载器、扩展类加载器和应用程序类加载器,并解释类加载器双亲委派模型的工作原理及优势。

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

1.类加载器

把加载阶段的 “通过一个类的全限定名来获取一个类的二进制字节流”这个动作放到java虚拟机外部去实现,实现这个动作的代码模块为“类加载器”

三种不同的类加载器:启动类加载器、扩展类加载器、应用程序类加载器

除此之外,还有自定义的类加载器,它们之间的层次关系被称为类加载器的双亲委派模型。该模型要求除了顶层的启动类加载器外,其余的类加载器都应该有自己的父类加载器,而这种父子关系一般通过组合(Composition)关系来实现,而不是通过继承(Inheritance)。

双亲委派模型工作过程:如果一个类加载器收到了类加载的请求,它首先不会自己尝试加载这个类,而是把这个请求给父类加载器去完成,每一个层次的类加载器都是如此,因此所有的加载请求最终都应该送到顶层的启动类加载器中,只有当父加载器反馈自己无法完成这个加载请求时,子加载器才会尝试自己去加载。

好处:java类随着它的类加载器一起具备了一种带有优先级的层次关系。Object类是都会交给启动类加载器加载,所以,Object类在程序的各个类加载器环境中都是同一个类。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值