当我们装载一个class时,递归向上,将class交给父加载器处理,不能处理的再由子加载器处理。
任何父加载器返回为null的加载器,父加载器都为bootstrap classloader.
优点:双亲委派保证了class被加载一次。因为保证了class与classloader的层级关系。所以一个class总是交由一个classloader处理。
要注意,同一个class交由不同loader处理,会产生不同class,而同一个loader会读缓存,返回相同class。
同时,由于委派给父加载器,可以避免核心api被篡改。