1. 类加载器的分类
引导类加载器、扩展类加载器、应用程序类加载器
2. 引导类加载器加载lib目录下的jar
扩展类加载器加载lib目录下的ext扩展目录中的JAR 类包
应用类加载器加载classpath目录下的jar包
3. 应用类加载器加载类时,先从扩展类加载器和引用类加载器中查找是否已加载过,如果未加载过再通过应用类加载器加载
双亲委派的作用:
-
沙箱安全机制:自己写的java.lang.String.class类不会被加载,这样便可以防止核心 API库被随意篡改 避免类的重复加载:
-
当父亲已经加载了该类时,就没有必要子ClassLoader再加载一 次,保证被加载类的唯一性