类加载器

定义类加载器:真正加载类的classloader,即真正执行defineclass的classloader
初始类加载器:启动类加载过程的classloader,即执行loadclass的classloader

jvm使用class的名字和定义类加载器作为标识一个类的唯一性
在一个类中使用this.getClass().getClassLoader()得到的是这个类的定义加载器

一个类里A引用了另一个类B,则类B的初始加载器是类A的定义加载器

new 一个自定义的classloader,该classloader的parent是当前new这个classloader的类的定义类加载器

ClassNotFoundException 同 NoClassFoundDefError区别
无论是使用反射还是直接用classloader,如果classpath上没有指定类,则会抛出前者
当某个加载类所依赖的类在classpath上丢失或者同编译期预想的不同时由虚拟机直接抛出

你可能感兴趣的:(类加载器)