类加载器
系统默认的三个类加载器,BootStrap,ExtClassLoader,AppClassLoader.BootStrap是jvm内置的类加载器,没有对应的Class对象.其他的类加载器本身也是java类,需要被类加载器加载.java
虚拟机中的类加载器采用父子关系的树形结构进行组织
它们分别负责不同的区域.当要加载一个类时,首先由当前线程的类加载器加载第一个类,当类A调用了类B时,则由加载类A的类加载器来加载类B,除非我们调用ClassLoader.LoadClass()来指定由某个类加载器加载某个类.它们的优先级由上到下,当父类加载器找不到指定的Class时,则在交给下一级类加载器,当AppClassLoader也无法加载这个类时,则报异常.