An implementation does not always have to be delegated to the parent class loader. It depends on the requirement. If the requirements require that the class be loaded by the implementation of the class loader, it can load it even if it is already loaded by another class loader.
( ), ClassLoader_1, , ClassLoader_2. .
, ( ). Java Boot Class , . JVM .
/ , . ClassCastException, .
, , ,
,
Thread.getContextClassLoader();
, ,
Object o = ....
o.getClass().getClassLoader();