类的加载过程
类的加载过程分为加载、验证、准备、解析、初始化这5个阶段
- 加载
- 通过一个类的全限定名来获取定义此类的二进制流
- 将这个字节流所代表的静态存储结构转化为方法区的运行时数据结构
- 在内存中生成一个代表这个类的java.lang.Class对象,作为方法区这个类的各种数据的访问入口
- 验证
- 验证是连接阶段的第一步,这一阶段的目的是为了确保Class文件的字节流中包含的信息符合当前虚拟机的要求,并且不会畏寒虚拟机自身的安全
- 文件格式验证
- 元数据验证
- 字节码验证
- 符号引用验证
- 验证是连接阶段的第一步,这一阶段的目的是为了确保Class文件的字节流中包含的信息符合当前虚拟机的要求,并且不会畏寒虚拟机自身的安全
- 准备
- 解析
- 初始化