类加载过程


类加载的整个生命周期包括了:加载、验证、准备、解析、初始化、使用和卸载七个阶段。其中验证、准备和解析三个部分统称为连接。
类加载过程

加载

1.根据类的全限定名获取类的二进制字节流
2.二进制字节流代表的静态结构转化为方法区运行时的数据结构
3.内存创建Class对象,作为方法区这个类的各种访问入口

连接

验证

验证Class文件是否符合虚拟机的规范,保证被加载类的正确性

  • 文件格式验证
  • 元数据验证
  • 字节码验证
  • 符号引用验证

准备

为静态成员变量分配内存和赋初值在方法区

解析

主要把常量池中的符号引用替换成直接引用

初始化

执行类的构造器clinit方法