黑马程序员-Java高新技术_类加载器视频学习笔记

        java类被加载器加载,加载器也是一个java类,叫类加载器。java中有三个类加载器,成父子关系,而且如果我们要定义一个自己的类加载器必须指定一个父加载器。类加载器之间的父子关系和管辖范围图:

知识点1:类加载器的委托机制
java虚拟机加载类时,到底用哪个类加载器?
 ◇首先当前线程的类加载器去加载线程中的第一个类
 ◇如果类A引用了类B,那么java虚拟机将使用加载类A的类加载器去加载类B
 ◇还可以直接调用ClassLoader.loaderClass()方法来指定某个类加载器去加载
每个类加载器加载时,又委托给其上级的类加载器。
当所有祖宗类加载器没有加载到该类,则回到发起者类加载器,还加载不到,则抛出ClassNoFoundException,不是再找发起者类加载器和儿子,因为没有getChild方法。——从上到下的加载。
知识点2:自定义类加载器
工作机制
父类——>loadClass/findClass()/得到class文件的内容转换成字节码>difineClass()/将一个 byte 数组转换为 Class 类的实例
实现步骤
 ◇自定义的类加载器必须继承ClassLoader
 ◇覆盖findClass方法
 ◇覆盖difineClass()方法
查看视频及源文件 MyClassLoader.class
 
                                                 ---------------------- android培训java培训、期待与您交流! ----------------------
  详细请查看:http://edu.csdn.net/heima
posted @ 2012-04-18 16:20  lcode  阅读(400)  评论(0编辑  收藏  举报