类加载器加载类的过程

[size=medium]
(.class文件加载的过程)由(加载)和(定义)两步完成
(加载)是loadClass()方法
(定义)是defineClass()方法

其中loadClass()中会调用defineClass()方法

每一个类加载器都有自己的控制区间(classpath)

过程:
(系统 类加载器)会最先loadClass()某一个.class文件,
然后在自己的loadClass()方法里调用父类加载器的loadClass()
求证.class文件是不是在父类加载器(扩展 类加载器)的控制范围之内
但(扩展 类加载器)没有求证就调用父类加载器的loadClass()
求证.class文件是不是在父类加载器(引导 类加载器)的控制范围之内
如果是则(引导 类加载器)调用defineClass()给出这个.class文件的Class类实力
如果不是则再问子类加载器(扩展 类加载器)是不是在其控制区域内
如果是则(扩展 类加载器)调用defineClass()给出这个.class文件的Class类实力
如果不是则再问子类加载器(系统 类加载器)是不是在其控制区域内
如果是则(系统 类加载器)调用defineClass()给出这个.class文件的Class类实力

所有被(定义)出来的Class类的实例会被缓存一段时间。
[/size]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值