当一个.class文件加载时,JVM会看启动类装载器、标准扩展类装载器是否已经加载,如果已经加载了此类文件,则JVM不对此文件进行加载;如果没有加载,则标准扩展类装载器将装载此类,同时JVM会用类路径装载器装载此类。
BootstrapLoader(启动类装载器) --> ExtendedLoader(标准扩展类装载器) --> AppClassLoader(类路径装载器)
BootstrapLoader(启动类装载器) --> ExtendedLoader(标准扩展类装载器) --> AppClassLoader(类路径装载器)