JVM学习总结——JVM的类加载子系统(博客资料来源于尚硅谷,感谢!)

二、JVM的类加载子系统

类加载子系统的总体架构:
在这里插入图片描述
1.类加载子系统的作用

在这里插入图片描述
在这里插入图片描述
2.类的加载过程

在这里插入图片描述
一个简单的包含main方法的类的字节码文件加载过程:
在这里插入图片描述
2.1 加载阶段
在这里插入图片描述
在这里插入图片描述
2.2 链接阶段
在这里插入图片描述
2.3 初始化阶段
在这里插入图片描述
一个类加载过程的案例分析:首先JVM要调用main方法,就会先加载ClinitTest1这个类,执行打印的方法时,发现需要使用到Son这个类,就会去加载Son这个类,加载Son这个类的时候,会去加载Son的父类Father类,在加载Father这个类的时候,在链接的准备阶段将A初始化为0,在初始化阶段赋值为1再赋值为2。所以回到Son这类的时候,A=2.
在这里插入图片描述
**注意:**在JVM进行类加载的时候,是线程安全的,也就是一个类在进行加载的时候,其他线程也想加载该类就会被阻塞,并且加载之后不会重复加载,也就是只会加载一次。

3、类加载器的分类
在这里插入图片描述
在这里插入图片描述
3.1引导类加载器(启动类加载器,BootStrap)

加载的范围:java的核心类库都是使用引导类进行加载的。例如:String类、Object类、HashMap类等等。
引导类加载器能够加载的包:
在这里插入图片描述
在这里插入图片描述
3.2 扩展类加载器
在这里插入图片描述
扩展类加载器能够加载的路径:
在这里插入图片描述

3.3 应用程序类加载器(系统类加载器)

在这里插入图片描述
3.4 用户自定义类加载器
在这里插入图片描述
在这里插入图片描述
3.5 ClassLoader抽象类的说明
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
4、双亲委派机制
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
5、沙箱安全机制
在这里插入图片描述
6、其他
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值