Java类在编译后以字节码的形式存储在.class文件中。当需要时,类加载器(ClassLoader)将Java程序的类加载到内存中。类加载器(ClassLoader)是分层的,因此如果有加载类的请求,它将被委托给父类加载器。
Java中的ClassLoader 的类型如下所示
引导类加载器
扩展类加载器
系统类加载器
public class ClassLoaderTest { public static void main(String[] args) { System.out.println("该类的类加载器: " + ClassLoaderTest.class.getClassLoader()); System.out.println("DNSNameService的类加载器: " + sun.net.spi.nameservice.dns.DNSNameService.class.getClassLoader()); System.out.println("HashMap的类加载器: " + java.util.HashMap.class.getClassLoader()); } }
输出结果
该类的类加载器: sun.misc.Launcher$AppClassLoader@73d16e93 DNSNameService的类加载器: sun.misc.Launcher$ExtClassLoader@70dea4e HashMap的类加载器: null