class装载验证流程
加载,
链接
验证,目的,保证class流的格式是正确的 ,文件格式的验证、元数据验证、字节码验证、符号引用验证
准备 分配内存,并为类设置初始值(方法区中)
public static int v =1 ;
解析 符号引用替换为直接引用 ,直接引用指的是 指针或者地址偏移量,引用对象一定在内存
初始化 执行类构造器<clinit>
static 变量 赋值语句
static{} 语句
子类的<clinit>调用前保证父类的<clinit>被调用
<clinit> 是线程安全
ClassLoader是一个抽象类
ClassLoader的实例将读入java字节码将类装载到JVM中
ClassLoader可以定制,满足不同的字节码流获取方式
ClassLoader负责类装载过程中的加载阶段