ClassLoader
引导类加载器 BootstrapClassloader
C/C++实现,我们并不能获取到 加载Java核心class 如 rt.jar包中的内容。
扩展类加载器 ExtClassloader
继承了ClassLoader 用户加载java的扩展包下的内容 ext下面的jar包。
系统类加载器 AppClassloader
如何自定义类加载器
类的加载过程
https://blog.csdn.net/xuemengrui12/article/details/82707473 可以参考一下
加载
- 把类的.class文件加载到内存
- 把静态存储结构(不知道具体是啥)转化为方法区的运行数据结构
-
连接
验证
- 反正就是各种验证,目前不太明白
- 准备
- 对类变量(静态变量)进行初始化的操作,这里会把所有的静态变量设置为该数据类型的0值
- 解析
Class文件的结构
这里看吧,自己写没必要了
https://blog.csdn.net/lzy_zhi_yuan/article/details/104528820