网站救助计划
1.为阅读体验,本站无任何广告,也无任何盈利方法,站长一直在用爱发电,现濒临倒闭,希望有能力的同学能帮忙分担服务器成本
2.捐助10元及以上同学,可添加站长微信lurenzhang888,备注捐助,网站倒闭后可联系站长领取本站pdf内容
3.若网站能存活下来,后续将会持续更新内容
前面介绍了类的加载过程,类加载器的意义很容易理解,作用就是将类加载到虚拟机的内存中。
这里再提个挺重要的知识点,任何类都需要加载它的类和加载器和这个类本身确定其在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完整版