类加载器

一、类加载器的作用

  1. 类加载器(ClassLoad)用来加载Java类到Java虚拟机中(JVM)
  2. 系统默认三个主要的类加载器,每个负责加载特定位置的类
  • BootStrap----加载JDK目录下jre/lib/rt.jar,不是类(父亲),Java虚拟机运行时先加载这个
  • ExtClassLoader----加载JDK目录下jre/lib/ext/*.jar,是一个类(儿子)
  • AppClassLoader----加载CLASSPATH指定的所有jar或目录(孙子)
  • MyClassLoader----用户可以自行编写加载类,可多个,加载指定目录/名称的类

二、类加载器的委托机制
当Java虚拟机要加载类时,如果上一级加载器可以加载则交由上一级加载,如用户编写一个java.lang.System类,交给AppClassLoader加载--->ExtClassLoader加载--->BootStrap加载,而rt.jar这个包中本来就有一个System类,所以用户编写的System类不起作用。如果BootStrap加载不到,则将由ExtClassLoader加载--->AppClassLoader加载,最后还加载不了的话就返回ClassNotFoundException异常










评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值