Java 中的双亲委派的“双”是指:在双亲委派机制中,“双”指的是双重检查机制。当一个类加载器接收到类加载请求时,它首先检查该类是否已经被加载了,如果已经被加载了,则直接返回该类的Class对象;如果没有被加载,则将加载请求委派给父类加载器处理。父类加载器也会进行相同的检查和委派,直到请求被传递到顶层的启动类加载器,如果启动类加载器仍然无法找到所需的类,则会由子类加载器尝试加载该类。
一、Java 中的双亲委派
Java 中的双亲委派指的是一种类加载机制,该机制将类加载请求传递给其父类加载器,直到请求被传递到顶层的启动类加载器,如果父类加载器无法找到所需的类,则子类加载器才会尝试加载该类。这种机制保证了Java程序中所有的类都能够被顶层的启动类加载器加载,从而保证了Java程序的稳定性和安全性。
在双亲委派机制中,“双”指的是双重检查机制。当一个类加载器接收到类加载请求时,它首先检查该类是否已经被加载了,如果已经被加载了,则直接返回该类的Class对象;如果没有被加载,则将加载请求委派给父类加载器处理。父类加载器也会进行相同的检查和委派,直到请求被传递到顶层的启动类加载器,如果启动类加载器仍然无法找到所需的类,则会由子类加载器尝试加载该类。通过这种双重检查机制,Java程序可以避免同一个类被不同的类加载器加载多次,从而保证了Java程序的稳定性和安全性。