概述
上图:
1、启动类加载器(Bootstrap ClassLoader)
最顶层类加载器,他的父类加载器是个null,也就是没有父类加载器。负责加载jvm的核心类库,比如java.lang.* 等,从系统属性中的sun.boot.class.path 所指定的目录中加载类库。他的具体实现由Java虚拟机底层C++代码实现。
2、扩展类加载器(Extension ClassLoader)
父类加载器是Bootstrap ClassLoader。从java.ext.dirs 系统属性所指定的目录中加载类库,或者从JDK的安装目录的jre/lib/ext 子目录(扩展目录)下加载类库,如果把用户的jar文件放在这个目录下,也会自动由扩展类加载器加载。继承自java.lang.ClassLoader 。
3、应用程序类加载器(Application ClassLoader)
父类加载器是Extension ClassLoader。从环境变量classpath或者系统属性java.class.path 所指定的目录中加载类。继承自java.lang.ClassLoader 。
4、自定义类加载器
除了上面三个自带的以外,用户还能制定自己的类加载器,但是所有自定义的类加载器都应该继承自java.lang.ClassLoader 。比如热部署、tomcat都会用到自定义类加载器。
最后
以上就是长情薯片为你收集整理的ClassLoader类加载器 之 类加载器种类的全部内容,希望文章能够帮你解决ClassLoader类加载器 之 类加载器种类所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复