Java 类加载器

32 阅读1分钟

类加载器:JVM 和核心组件,负责将.class文件动态加载到内存并生成Class对象,采用双亲委派模型确保类加载请求优先委派给父类加载器处理

常见的类加载器

  1. 启动类加载器(Bootstrap ClassLoader):最顶层,由 C++ 实现,负责加载 JRE 核心类(如 rt.jar 中的 java.langjava.util 包下的类)。
  2. 扩展类加载器(Extension ClassLoader):加载 JRE 扩展目录(如 jre/lib/ext)下的类,为核心类提供扩展功能。
  3. 应用程序类加载器(Application ClassLoader):也叫系统类加载器,加载用户编写的类(如项目 classpath 下的 .class 文件和第三方 jar 包)。

双亲委派

这是类加载器的核心工作原则,简单说就是 “先让父加载器尝试加载,父加载器加载不了再自己加载”,目的是防止类重复加载保证核心类的安全(如 java.lang.String 不会被自定义类篡改)。