从java虚拟机的角度来讲,只存在两种不同类型的类加载器:
1)一种是启动类加载器,这个类加载器是C++语言实现的,是虚拟机自身的一部分;
2)另一种就是所有其他的类加载器,这些类加载器是由Java语言实现,独立于虚拟机外部,并且全部继承自抽象类java.lang.ClassLoader。
1,扩展类加载器,它负责加载<JAVA_HOME>\lib\ext目录中的,或者被java.ext.dirs系统变量所指定的路径中的所有类库,开发者可以直接使用扩展类加载器。
2,应用程序类加载器,这个类加载器也叫系统类加载器,它负责加载用户类路径上所指定的类库,开发者可以直接使用这个类加载器,如果应用程序中没有自定义过自己的类加载器,一般情况下,这个就是程序默认的累加器。
1)一种是启动类加载器,这个类加载器是C++语言实现的,是虚拟机自身的一部分;
2)另一种就是所有其他的类加载器,这些类加载器是由Java语言实现,独立于虚拟机外部,并且全部继承自抽象类java.lang.ClassLoader。
1,扩展类加载器,它负责加载<JAVA_HOME>\lib\ext目录中的,或者被java.ext.dirs系统变量所指定的路径中的所有类库,开发者可以直接使用扩展类加载器。
2,应用程序类加载器,这个类加载器也叫系统类加载器,它负责加载用户类路径上所指定的类库,开发者可以直接使用这个类加载器,如果应用程序中没有自定义过自己的类加载器,一般情况下,这个就是程序默认的累加器。