注解与反射

1、类加载内存分析

类的加载与ClassLoader的理解

  1. 加载:将class文件字节码内容加载到内存中,并将这些静态数据转换成方法区的运行时数据结构,生成一个代表这个类的java.lang.Class对象
  2. 链接:将java类的二进制代码合并到 JVM 的运行状态之中的过程

    • 验证:确保加载的类信息符合 JVM 规范,没有安全方面的问题
    • 准备:正式为类变量(static)分配内存并设置类变量默认初始值,这些都在方法区内分配
    • 解析:虚拟机常量池内的符号引用(常量名)替换为直接引用(地址)的过程
  3. 初始化:init()