类加载器有哪几种分别是加载哪些类的
类加载一共可以分为三种:
分别为:
- 启动类加载器(Bootstrap Class Loader):负责加载Java的核心类库,如java.lang包中的类。
- 扩展类加载器(Extension Class Loader):负责加载Java的扩展类库,位于 \lib\ext 目录下的JAR文件。
- 应用程序类加载器(Application Class Loader):负责加载应用程序类路径(classpath)上指定的类库。
Java还支持自定义类加载器,通过继承ClassLoader类来实现自定义的类加载器,用于加载特定位置或特定来源的类文件。
双亲委派机制的大概了解
加载某一个类,先委托上一级的加载器进行加载,如果上级加载器也有上级,则会继续向上委托,如果该类委托上级没有被加载,子加载器尝试加载该类。
只有当父类加载器无法加载时,才自己尝试加载。从而确保类的加载安全和防止类的重复加载
可参考图: