类加载过程

2022-03-07  本文已影响0人  轻易流逝

过程:

  1. 加载
    二进制文件加载到内存
  2. 验证
    验证类文件是否正确,是否符合jvm规范
  3. 准备
    静态变量进行初始化,分配内存空间并赋予初始值
  4. 解析
    符号引用转为直接引用,加载引用的类
  5. 初始化
    对类进行初始化,对静态变量进行赋值,执行静态代码块
  6. 使用
  7. 卸载

确定一个唯一的类:

  1. 类全限定名
  2. 类加载器

为什么要自定义?

  1. 从非标准位置加载类。如数据库、网络上。
  2. 加密。对class文件进行加密存储,需要解密后加载到内存。
  3. 隔离。利用不同classLoader加载。例如tomcat
  4. 动态加载类。热部署。

双亲委派优点?

  1. 安全机制。防止核心类库被篡改。
  2. 防止类重复加载。

打破双亲委派?
tomcat打破双亲委派。目的隔离war包。

上一篇下一篇

猜你喜欢

热点阅读