Java类加载
Java类加载器
Java共有三种类加载器,分别是BootStrapClassLoader、ExtClassLoader、AppClassLoader,如果要算的话还可以加上CustomClassLoader,下面分别介绍:
1、BootStrapClassLoader
启动类加载器,最顶层的加载器,由c++编写而成,主要负责加载Java的核心类库,比如jre/lib/rt.jar,开发者无法直接获取该加载器的引用,所以不允许直接通过引用进行操作。
2、ExtClassLoader
标准扩展类加载器(extension class loader),由Java实现,主要负责加载jre/lib/ext下的jar包,开发者可以直接使用的标准扩展类加载器。
3、AppClassLoader
系统类加载器(application class loader),也叫SystemClassLoader,由Java实现,主要负责加载当前应用classpath下的类,开发者可以直接使用。
4、CustomClassLoader
用户自定义类加载器,实现自定义类加载器时要继承ClassLoader类,有兴趣的可以自行研究ClassLoader的源码,简单介绍ClassLoader类中的核心方法