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