登录
原创

Java 类加载过程

发布于 2020-12-30 阅读 303
  • 后端
原创

类加载过程分为加载、验证、准备、解析、初始化5个阶段。
image.png

1、加载

通过一个类的全限定名获取该类的二进制字节流,并将这些数据转换成方法区中的运行时数据(静态变量、静态代码块、常量池等),在堆中生成一个Class类对象代表这个类(反射原理),作为方法区类数据的访问入口。

2、验证

确保加载的类信息符合JVM规范,没有安全方面的问题。

3、准备

主要是为类变量(static变量)分配内存,并且赋予初值。注意此时的设置初始值为默认值,具体赋值在初始化阶段完成。比如8种基本类型的初值,默认为0;引用类型的初值则为null;常量的初值即为代码中设置的值。

4、解析

虚拟机常量池内的符号引用替换为直接引用(地址引用)的过程。

5、初始化

初始化阶段是执行类构造器方法的过程。

评论区

励志做一条安静的咸鱼,从此走上人生巅峰。

0

0

0

举报