类加载器classLoader

类加载器: 用来加载java类到java虚拟机中. 

 

  java.lang.classLoader根据一个指定类名称,找到或生成对应的字节码,从中定义出一个JAVA类。 还负责加载JAVA应用锁需要的资源.

  常用方法: 

      getParent() : 返回其父类加载器

      loadClass(String name) 加载name类

      findClass(String name) 查找name类

      findLoadedClass(String name)查找已被加载过的name类

      defineClass(String name,byte[] b,int off,int len) 将数组b中内容转换成java类

      resolveClass(Class<?> c) 链接到java类

 

双亲委托机制:

      一个加载器收到通知,先纵向向上,让其父类进行加载,成功则返回True,不成功则自身加载, 未加载到抛出异常.   目的是防止恶意覆盖

 

类加载器分类:     

     根加载器: bootStrap class loader , 用于加载核心api, 比如java_home/lib.   native方法 不可访问

     扩展加载器: extensions class loader ,加载标准类库,是根加载器的子类,jdk/lib/etc, 可人为操纵

     程序加载器: system class loader , 用于加载常用类和编译类, java_classpath 是扩展加载器的子类,可操控

     自定义:  需要继承classLoader

      

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值