ClassLoader类加载器 之 类加载器种类

上图:

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都会用到自定义类加载器。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值