Untitled

类加载过程

main函数启动时, 先通过类加载器加载到JVM

loadClass 类加载过程有如下几步:

  1. 加载: 读取字节码文件 (使用时才会加载, main() new..等等)
  2. 验证: 校验
  3. 准备: 给类静态变量分配内存, 先赋予默认值
  4. 解析: 将符号引用转变为直接引用, main()方法替换为内存的指针或句柄, 这就是静态连接 的过程,(动态连接 是在运行的时候完成的)
  5. 初始化: 静态变量赋值, 执行静态代码快
  6. 使用
  7. 卸载

动态加载, 主类在使用的时候, 才会加载这些类

类加载器和双亲委派