类加载器按照双亲委派模型工作,确保了类的安全加载和高效加载。通过理解类加载原理和类加载器的工作原理,可以更好地理解Java的运行时环境,并编写出更加健壮和安全的Java代码。
一、什么是双亲委派模型
JVM的类加载是由类加载器及其子类实现的,它们按照一定的层次结构进行组织,每个类加载器负责加载特定位置的类。这种层次结构保证了类加载的灵活性和可扩展性。
类加载器之间的这种层次关系,被称为双亲委派模型。
类加载器之间的层次关系通常被称为双亲委派模型。
二、双亲委派模型工作原理
当一个类加载器收到了类加载请求,它首先不会自己尝试去加载,而是把这个请求委派给父类加载器去完成,每一个层次的类加载器都是如此,因此所有的加载请求最终都应该传送到顶层的启动类加载器中。只有当父类加载器无法完成这个加载请求(它的搜索范围中没有找到所需的类)时,子加载器才会尝试自己去加载。
当一个类加载器收到类加载请求时,它首先不会自己去加载这个类,而是把这个请求委派给父类加载器去完成。每一个层次的类加载器都是如此,因此所有的加载请求最终都应该传送到顶层的启动类加载器中。只有当父类加载器无法完成这个加载请求(它的搜索范围中没有找到所需的类)时,子加载器才会尝试自己去加载。
三、双亲委派模型的好处
3.1 安全(保证了Java核心类库的类型安全,防止核心API被篡改)
Java核心API中的类是由引导类加载器加载的,由于双亲委派模型,系统类加