Java虚拟机30个常用知识点之4——类加载的过程

当程序访问类的静态变量、类的静态方法或是用new来创建一个新的对象时,java虚拟机就会将相应的.class文件加载到内存中。那么,类加载的过程是什么呢?下面就是类加载的过程介绍。

1. 加载

加载是类加载过程的一个阶段,虚拟机在这个阶段会做3件事情

a. 通过一个类的全限定名来获取定义此类的二进制字节流

b. 将字节流以某一特定数据结构存入方法区

c. 在内存中生成代表这个类的class对象

2. 验证

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

3. 准备

为类变量分配内存并设置类变量初始值

4. 解析

将常量池中的符号引用替换为直接引用,包括类或接口的解析、字段解析、类方法解析、接口方法解析

5. 初始化

执行类的构造方法,与我们常说的构造方法不同,我们常说的构造方法是实例构造方法为类的静态变量初始化,加载静态代码块。

 

你可能感兴趣的:(Java虚拟机30个常用知识点之4——类加载的过程)