1.什么是类加载器
image.png
2.类加载的过程
2.1.类加载时机
image.png
image.png
2.2.类加载的过程
image.png
image.png
2.3.链接
image.png
image.png
image.png
image.png
符号引用替换为直接引用:加载的类的成员变量是其他类型,解析步骤之前都是符号代替,此时需要找到对应的类型
2.4.初始化
image.png
image.png
image.png
image.png
image.png
image.png
3.类加载器的分类
image.png
3.1.双亲委派模型
- 除了顶层的类加载器,其余的类加载器都应该有自己的父类加载器
- 父子关系不是extends继承,只是逻辑上的继承
- 用自定义类加载器加载一个字节码文件,首先不会自己去加载,把这个加载任务委派给父类加载器,父类还会委派给父类,所有的加载请求都会最终上传到顶层加载器
- 当父类无法完成加载请求的时候,会一层层往下返回
-
自定义类加载器不常用,常用的是系统类加载器
image.pngimage.pngimage.png
3.2.常用方法
image.png
image.png