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