类装载器

类装载器

将类装在到JVM需要以下步骤:

装载:查找和导入Class文件

链接:执行校验、准备和解析步骤,其中解析步骤是可以选择的。

校验:检查载入的class文件数据的正确性

准备:给类的静态变量分配存储空间。

解析:将符号引用转换为直接引用。

初始化:对类的静态变量、静态代码块执行初始化工作。

分为三个类装载器:根装载器、ExtClassLoader(扩展类装载器)和AppClassLoader(应用类装载器)

ExtClassLoader:进行装载JRE扩展目录ext中的JAR包

AppClassLoader:进行装载Classpath路径下的类包。

三者关系:根加载器是扩展类装载器的父类,扩展类装载器是应用装载器的父类。

在装载时采用的时“全盘负责委托机制”,全盘负责:就是当一个ClassLoader装载一个类时,除非显式的使用另一个ClassLoader,该类所依赖及引用的类也有这个ClassLoader载入;

委托机制:至先委托父类装载器寻找目标,只有找不到的情况下才从自己的类路径中查找并装载目标类。

java的反射机制

本文标题:类装载器

文章作者:wsylp

发布时间:2020年06月07日 - 15:06

最后更新:2020年06月07日 - 15:06

原始链接:http://wsylp.github.io/2020/06/07/类装载器/

许可协议: 本文为 wsylp 版权所有 转载请保留原文链接及作者。

-------------本文结束感谢阅读-------------