网易云课堂学习-类加载机制
运行时数据区
JVM是用来存储加载的类信息、常量、静态变量、编译后的代码等数据。
虚拟规范中这是一个逻辑区划。具体实现根据不同虚拟机来实现。
如:oracle的HotSpot在java7中将方法区放在永久代,java8放在元数据空间,并且通过GC机制对这个区域进行管理。
类生命周期
类加载器
一个java程序运行,至少有三个类加载实例,负责不同类的加载:
- Bootstrap loader:核心类库加载器
- Extension Class Loader:拓展类库加载器
- application Class loader:用户应用程序加载器,加载java.class.path指定目录。
验证问题
- 查看类对应的加载器
- JVM如何知道我们的类在何方
- 类不会重复加载
- 类的卸载
- 双亲委派模型
查看类对应的加载器
JVM如何知道我们的类在何方
类不会重复加载
类的卸载
双亲委派模型