19 lines
540 B
Markdown
19 lines
540 B
Markdown
# 类加载过程
|
|
|
|
1. 加载
|
|
1. 通过全类名获取定义此类的二进制字节流
|
|
2. 将字节流的静态存储结构转化为运行时数据结构
|
|
3. 在内存中生成 `Class` 对象,放入方法区中
|
|
2. 验证
|
|
1. 文件格式验证 (魔数)
|
|
2. 元数据验证 (符合规范)
|
|
3. 字节码验证 (程序语义)
|
|
4. 符号引用验证 (其他类、方法、字段是否存在)
|
|
3. 准备
|
|
1. 分配内存
|
|
- 静态变量
|
|
4. 解析
|
|
1. 将符号引用替换为直接引用
|
|
5. 初始化
|
|
|