Java类加载器与双亲委派机制

Java的四种类加载器

1)Bootstrap ClassLoader;
2) Extention ClassLoader;
3) Application ClassLoader;
4) Custom ClassLader;

加载器启动时的加载目录

Bootstrap :加载JDK目录中\lib文件夹中的类;
Extention :加载JDK目录中\lib\ext文件夹中的类;
Application:加载ClassPath路径下的类;
Custom:通过覆盖findClass()方法去进行加载类。
Java类加载器与双亲委派机制_第1张图片

双亲委派机制

Java类加载器与双亲委派机制_第2张图片
如上图所示,除了Bootstrap,其他类加载器都有父加载器,这就构成了类加载器机制。
loadClass源码可知:类加载器在加载一个类时,首先交由它的父加载器进行加载,若父加载器无法加载时,则由其自己再进行加载

双亲委派机制的意义

双亲委派机制使得类加载器变的更加稳定,更加有层次。特定的类由特定的类加载器来加载,保证内存中一个类对象只有一个。

你可能感兴趣的:(虚拟机)