深入理解JAVA虚拟机---虚拟机类加载机制

来源:互联网 发布:世界地缘政治格局知乎 编辑:程序博客网 时间:2024/04/28 21:44

本文内容来自《深入理解JAVA虚拟机》

1. 虚拟机类加载机制

1.1 类加载器类

(1)启动类加载器Bootstrap ClassLoader

这个类加载器使用C++语言实现(只限于HotSpot),负责加载存放在<JAVA_HOME>\lib目录中的,或者被-Xbootstrapclasspath参数所指定的路径中的,并且是虚拟机识别的类库加载到虚拟机内存中。启动类加载器无法被JAVA程序直接引用。

(2)扩展类加载器Extension ClassLoader

这个类加载器使用JAVA语言实现,负责加载存放在<JAVA_HOME>\lib\ext目录中的,或者被java.ext.dirs系统变量所指定的路径中的所有类库,开发者可以直接使用扩展类加载器。

(3)应用程序类加载器Application ClassLoader

这个类加载器使用JAVA语言实现,负责加载类路径(ClassPath)上所指定的类库,开发者可以直接使用这个类加载器,如果应用程序中没有自定义自己的类加载器,一般情况下这个就是程序中默认 的类加载器。

1.2 双亲委派模型

类加载器之间的这种层次关系,称为类加载器的双亲委派模型


1.3 TOMCAT类加载机制

启动类加载器、扩展类加载器、应用程序类加载器所加载的内容请看上面的内容

common类加载器用来目录tomcat/lib下面的类库

WebApp类加载器用来加载各个系统下面的WebApp/WEB-INF/*中的类库

Jsp类加载器用来加载一个JSP文件,每一个JSP文件都对应一个JSP类加载器。


阅读全文
0 0