
扫码关注微信公众号
回复“面试手册”,获取本站PDF版
回复“简历”,获取高质量简历模板
回复“加群”,加入程序员交流群
回复“电子书”,获取程序员类电子书
前面介绍了类的加载过程,类加载器的意义很容易理解,作用就是将类加载到虚拟机的内存中。
这里再提个挺重要的知识点,任何类都需要加载它的类和加载器和这个类本身确定其在Java虚拟机中的唯一性,也就是说要比较两个类是否相等,只有两个类由同一个类加载器加载的前提下才有意义,如果两个类不是由同一个类加载器加载,那么它一定不相等。
JVM主要提供三个类加载器:
- 启动类加载器(Bootstrap ClassLoader):由C++语言实现,是虚拟机自身的一部分,负责加载存放在
<JAVA_HOME>\lib
(比如rt.jar、resources.jar、charsets.jar和class等),或被-Xbootclasspath
参数所指定路径中的并且被虚拟机识别的类库。 - 扩展类加载器(Extension ClassLoader):由Java语言实现,独立于虚拟机外部,负责加载
<JAVA_HOME>\lib\ext
目录中的类库。 - 应用程序类加载器(Application ClassLoader):由Java语言实现,独立于虚拟机外部,负责加载用户路径上所指定的类库,如果程序中没有自己定义过的类加载器,一般情况这个是程序中的默认类加载器
本站链接:https://www.mianshi.online,如需勘误或投稿,请联系微信:lurenzhang888
点击面试手册,获取本站面试手册PDF完整版