Jvm自带三种类加载器,分别是BootstrapClassLoader,ExtClassLoader,AppClassLoader。
其中根加载器BootstrapClassLoader负责加载虚拟机的核心类库,如java.lang.*等,根类加载器从属性sun.boot.class.path所指定的目录中加载类,是用c语言编写的。
扩展加载器ExtClassLoader,他的父加载器为根加载器,他从java.ext.dirs系统属性所指定的目录中加载类库。是用java编写的,继承java.lang.ClassLoader类。
系统类加载器AppClassLoader,也称为应用类加载器,它的父加载器是扩展加载器。它从环境变量classpath或者系统属性java.class.path所指定的目录中加载类,继承java.lang.ClassLoader类。