类从被加载到JVM到卸载出内存的完整生命周期?

image.png


说一下各个步骤?

加载:

  • 查找并加载类文件的二进制数据
  • 会在内存中生成一个代表这个类的java.lang.Class对象,作为方法区这个类的数据的入口

    连接:

  • 把已经读入内存的类的二进制数据放到虚拟机环境中,包括以下步骤:

    • 验证:确保被加载类的正确性
    • 准备:为类的静态变量分配内存,并初始化
    • 解析:把常量池中的符号引用替换为直接引用

      初始化:

  • 为类的静态变量赋初值

**