类装载器Classloader

1.类装载器的工作机制
类装载器就是寻找类的字节码文件并构造出类在JVM内部表示对象的组件。在Java中,类装载器把一个类装入JVM中,需如下步骤:
(1)装载:查找和导入吃Class文件
(2)链接:执行校验、准备和解析步骤,其中解析步骤是可以选择的
1)校验:检查载入Class文件数据的正确性
2)准备:给类的静态变量分配存储空间
3)解析:将符号引用转成直接引用
(3)初始化:对类的静态变量、静态代码执行初始化工作

2.类装载工作由ClassLoader及其子类负责。ClassLoader是一个重要的Java运行时系统组件,它负责在运行时查找和装入Class字节码文件。

3.JVM在运行时会产生3个ClassLoader:
根装载器、ExtClassLoader(扩展类装载器)、AppClassLoader(应用类装载器)。

4.根装载器不是ClassLoader的子类,负责装载JRE的核心类库;

5.ExtClassLoader和AppClassLoader都是ClassLoader的子类,其中ExtClassLoader负责装载JRE扩展目录ext中的JAR包;AppClassLoader负责装载Classpath路径下的类包。

6.这3个类装载器之间存在父子关系,根装载器是ExtClassLoader的父装载器,ExtClassLoader是AppClassLoader的父装载器。在默认情况下,使用AppClassLoader装载应用程序的类。

7.JVM装载类时时使用“全盘负责委托机制”,“全盘委托”是指当一个ClassLoader装载一个类时,除非显式地使用另一个ClassLoader,该类所依赖及引用的类也由这个ClassLoader载入;“委托机制”是指先委托父装载器寻找目标类,只有在找不到的情况下才从自己的类路径下查找并装载目标类。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容