Classloader 是 JVM 的一个子系统,用于加载类文件。每当运行 java 程序时,它首先由类加载器加载。 Java中有三个内置的类加载器。
- Bootstrap ClassLoader:这是第一个类加载器,它是 Extension 类加载器的超类。它加载包含Java标准版所有类文件的
rt.jar
文件,如java.lang
包类、java.net
包类、java.util
包类、java.io
包类、java.sql
包类等。 - Extension ClassLoader:这是Bootstrap的子类加载器和
System
类加载器的父类加载器。它加载位于$JAVA_HOME/jre/lib/ext
目录中的 jar 文件。 - System/Application ClassLoader:这是扩展类加载器的子类加载器。它从类路径加载类文件。默认情况下,类路径设置为当前目录。可以使用
-cp
或-classpath
开关更改类路径。它也被称为应用程序类加载器。