1.类加载机制
1.1 三种类加载器
- Bootstarp loader(核心加载器)
- Extension class loader(扩展加载器)
- Applation class loader (应用加载器)
1.2 JVM 如何找到class文件
读取java.calss.path配置文件,找到class文件
1.3 类不会重复加载
1.4 类的卸载
类的卸载满足两个条件
- 类的引用全被回收
- 加载类的classLoader实例被回收
1.5 双亲委派模型(啃老模型)
为了避免重复加载,采用的一种 自下而上的逐级委托,自上而下的逐级查找的模式
- 类加载器不会自己尝试去加载类,而是会委托给他的父加载器去加载,每一层加载器都是如此,所有的加载器都会把加载请求传给上层的启动类加载器
- 只有当父加载器反馈自己无法完成加载请求(该加载器的搜索范围没有找到对应的类),子加载器才会尝试自己去加载请求