ClassLoader类加载器

类的加载器:将class文件加载到JVM中执行这个文件.

Java中将类加载器分成三类:

引导类加载器:     负责加载  JAVA_HOME/jre/lib/rt.jar

扩展类加载器:     负责加载  JAVA_HOME/jre/lib/ext/*.jar

应用类加载器:     加载类路径下的所有的class.(负责加载我们自定义的类)

这些类加载器如何保证类只会加载一次而且不会重复加载:

这是因为类加载器的全盘委托机制:

eg:

 class A { String s; } 

由应用类加载器得到A.class String,class,委托给扩展类加载器,扩展类加载器又委托给引导类加载器.引导类加载器加载String.class.将其他的类的class向下给扩展类加载器.扩展类加载器没有找到.向下给应用类加载器,将A.class 加载.

原文地址:https://www.cnblogs.com/laodang/p/9535146.html