网易云课堂学习-类加载机制

运行时数据区
网易云课堂学习-类加载机制
JVM是用来存储加载的类信息、常量、静态变量、编译后的代码等数据。
虚拟规范中这是一个逻辑区划。具体实现根据不同虚拟机来实现。
如:oracle的HotSpot在java7中将方法区放在永久代,java8放在元数据空间,并且通过GC机制对这个区域进行管理。

类生命周期
网易云课堂学习-类加载机制
类加载器
网易云课堂学习-类加载机制
一个java程序运行,至少有三个类加载实例,负责不同类的加载:

  1. Bootstrap loader:核心类库加载器
  2. Extension Class Loader:拓展类库加载器
  3. application Class loader:用户应用程序加载器,加载java.class.path指定目录。

验证问题

  1. 查看类对应的加载器
  2. JVM如何知道我们的类在何方
  3. 类不会重复加载
  4. 类的卸载
  5. 双亲委派模型

查看类对应的加载器
网易云课堂学习-类加载机制
JVM如何知道我们的类在何方
网易云课堂学习-类加载机制
类不会重复加载
网易云课堂学习-类加载机制
类的卸载
网易云课堂学习-类加载机制
双亲委派模型
网易云课堂学习-类加载机制