JVM类加载机制
类加载器的层次结构
JVM中有三种标准的类加载器:
graph TD
A[Bootstrap ClassLoader] --> B[Extension ClassLoader]
B --> C[Application ClassLoader]
- Bootstrap ClassLoader:最顶层的加载类,主要加载核心类库,如rt.jar、resources.jar等。
- Extension ClassLoader:加载ext目录下的jar包。
- Application ClassLoader:加载应用程序的类,即classpath下的类。
双亲委派模型
graph TD
A[类加载请求] --> B{Application ClassLoader}
B -->|委派| C{Extension ClassLoader}
C -->|委派| D{Bootstrap ClassLoader}
D -->|加载失败| C
C -->|加载失败| B
B -->|都加载失败| E[抛出ClassNotFoundException]