类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个 java.lang.Class对象,用来封装类在方法区内的数据结构.

java类加载机制

类加载的过程包括了加载、验证、准备、解析、初始化五个阶段
java类加载机制

1、加载:
      (1)通过一个类的全限定名来获取其定义的二进制字节流
      (2)将这个字节流所代表的的静态存储结构转化为方法区的运行时数据结构
      (3)在堆中生成一个代表这个类的Class对象,作为方法区中这些数据的访问入口。
2、验证 : 验证的主要作用就是确保被加载的类的正确性
3、准备(类变量(static)会分配内存): 准备阶段主要为类变量分配内存并设置初始值(指默认                  值比如int 为0,不是程序指定的值)
4、解析 : 解析阶段主要是虚拟机将常量池中的符号引用转化为直接引用的过程
5、初始化 (类变量(static)):
          主要为类的静态变量赋予正确的初始值,JVM负责对类进行初始化,主要对类变量进行初始化
在Java中对类变量进行初始值设定有两种方式:
        ①声明类变量是指定初始值
        ②使用静态代码块为类变量指定初始值



java类加载机制java类加载机制
java类加载机制
java类加载机制
        

关注小编微信公众号(java交流),回复520免费领取java面试资料!

java类加载机制

相关文章: