类加载器如何在 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

更新于: 03-Jul-2020

浏览 838 次

开启你的职业生涯

完成课程,获取证书

开始学习
广告