深入理解JAVA虚拟机---虚拟机类加载机制
2017-12-21 23:21
357 查看
本文内容来自《深入理解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类加载器。
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类加载器。
相关文章推荐
- 深入理解Java虚拟机 读书笔记 之 虚拟机类的加载机制
- 深入理解java虚拟机-4 虚拟机类加载机制
- 读 - 深入理解java虚拟机 - 笔记(五-2) - 虚拟机类加载机制(7章)-类加载器
- 读 - 深入理解java虚拟机 - 笔记(五-1) - 虚拟机类加载机制(7章)-类加载时机
- 深入理解java虚拟机---虚拟机类加载机制
- 深入理解Java虚拟机--Java虚拟机类加载机制
- 深入理解java虚拟机-第四章:虚拟机类加载机制
- 深入理解Java虚拟机-虚拟机类加载机制(四)
- 深入理解java虚拟机-类文件结构和虚拟机类加载机制
- 深入理解Java虚拟机JVM高级特性与最佳实践阅读总结—— 第七章 虚拟机类加载机制
- 深入了解java虚拟机第七章---虚拟机类加载机制(1)
- 深入理解Java虚拟机 - 类加载机制
- 深入理解Java虚拟机类加载机制
- 深入理解Java虚拟机读书笔记--第七章 虚拟机类加载机制
- 【深入理解Java虚拟机学习笔记】虚拟机类加载机制
- 深入理解JVM之虚拟机类加载机制
- 深入理解JVM读书笔记三: 虚拟机类加载机制
- 深入理解JVM07--虚拟机类加载机制--类加载器、双亲委派模型
- 深入理解JVM虚拟机-7虚拟机类加载机制
- 【深入理解Java虚拟机】类加载机制