反射前序------简述类加载的过程

概述:

当程序主动使用某个类的时候,如果该类还未被加载到内存中,则系统会通过类的加载,类的链接,类的初始化三个步骤来对该类进行初始化。

加载,链接,初始化的解释

  • 加载
    将class文件字节码内容加载到内存中,并将这些静态(static)数据转换成方法区的运行时数据结构
    然后生成一个代表这个类的java.lang.Class对象,作为方法区中类数据的访问入口(即引用地址)。
    所有需要访问和使用类数据只能通过这个Class对象。这个加载过程需要类加载器参与。
  • 链接
    将java类的二进制代码合并到JVM的运行状态之中的过程:
    • 验证:确保加载得信息符合规范
    • 准备:为类变量分配内存(方法区),设置默认值
    • 解析:虚拟机常量池内的符号引用(常量名)替换为直接引用(地址)的过程
  • 初始化
    初始化是对类变量赋值的操作:
迎风少年
原文地址:https://www.cnblogs.com/ZYH-coder0927/p/13782032.html