Tomcat的类加载器
看完了Java类装载器,我们再来看看应用服务器(Tomcat)对类加载器的使用,每个应用服务器都有一套自己的类加载器体系,从而与Java的类加载器区别开以达到自己与应用程序隔离的目的.Tomcat的类加载器体系为:Bootstrap--->System--->Common---->Catalina,SharedShared------>Webapp1,Webapp2 .....
下面是对每个类加载器的定义:
1.Bootstrap 加载器在这里是Java里的Bootstrap和ExtClassLoader的总称,负责加载Java核心包的类, 和<Java_Home>/jre/lib/ext目录下的类.通常我们开发人员并不关心.我想只要是java程序这些肯定是必要的
2.System 就是系统加载器,一般是AppClassLoader,负责加载ClassPath环境变量设置目录下的值,这个我们开发人员会非常关注,但是在 Tomcat里面,虽然用AppClassLoader类加载器,但我们设置的ClassPath对它没有影响(如果有影响,那就麻烦了,将会导致 Tomcat运行不稳定),为什么呢,因为tomcat每次启动的时候都会在命令行窗口中都会重新设置Classpath值 为:<catalina_Home>/bin/bootstrap.jar和<java_Home>/lib /tools.jar,所以这里面的类一般对应用程序不可见的.除非你设置了
3.Common类加载器负责加载TomcatHOME/common/class下的.Class文件和common/lib中的jar包,这些类可以被Tomcat内核和每个Web应用程序都可以看见,一般放公用的一些重要的类,如servlet.jar等
4.Catalina类加载器从server/classes和server/lib下加载类,Catalina加载的类只对Tomcat服务器内核可见,对Web应用程序不可见,对于运行Tomcat内核的线程,它的上下文类加载器就是Catalina类加载器
5.Shared类加载器负责从share/classes和share/lib中加载类,它加载的类只对所有Web应用程序有效,对Tomcat不可见.
6.WebappX类加载器负责加载Web应用程序的/web-INF/classes和lib目录下的类,只对当前Web应用程序有效,对其他Web应用程序无效,对于运行每个Web应用程序的线程,他们的上下文类加载器就是它们各自的WebappX类加载器总结:从以上6点可以看出Tomcat提供了完整的类加载器体系,并且分工非常的明确,因而非常访问我们进行Web应用程序的设置和部署.
转载于:https://www.cnblogs.com/kabi/p/5199021.html
Tomcat的类加载器相关推荐
- Tomcat类加载器为何违背双亲委派模型
本文来说下Tomcat类加载器为何违背双亲委派模型 文章目录 什么是类加载机制 什么是双亲委派模型 如何破坏双亲委任模型 Tomcat的类加载器是怎么设计的 本文小结 什么是类加载机制 代码编译的结果 ...
- 类加载机制:双亲委任模型和tomcat类加载器
简介 类是如何加载的,那么必须要面对的几个问题如下 什么是类加载机制? 什么是双亲委任模型? 如何破坏双亲委任模型? Tomcat 的类加载器是怎么设计的? 类加载机制 Java 中的类加载器大致可以 ...
- java中类加载机制、类加载过程和类加载器层次
1.类加载机制 jvm把class文件加载到内存,并对数据进行校验.解析和初始化,最终形成jvm可以直接使用的java类型的过程. (1)加载 将class文件字节码内容加载到内存中,并将这些静态数据 ...
- Tomcat 的类加载机制
在前面 Java虚拟机:对象创建过程与类加载机制.双亲委派模型 文章中,我们介绍了 JVM 的类加载机制以及双亲委派模型,双亲委派模型的类加载过程主要分为以下几个步骤: (1)初始化 ClassLoa ...
- 十八、泛型 l 注解 l Servlet3.0 l 动态代理 l 类加载器基础加强
l 泛型 l 注解 l Servlet3.0 l 动态代理 l 类加载器 泛型 1 回顾泛型类 泛型类:具有一个或多个泛型变量的类被称之为泛型类. public class A<T> { ...
- 深入拆解类加载器,这样的姿势你还不懂吗?
来源:Java爱好者社区 本文导读: 1.前奏,举个生活中的小栗子 2.为何Java类型加载.连接在程序运行期完成? 3.一个类在什么情况下才会被加载到JVM中? 什么是主动使用.被动使用?代码示例助 ...
- java 类加载 双亲委派_java类加载器和双亲委派模型
一. 类加载器 ClassLoader即常说的类加载器,其功能是用于从Class文件加载所需的类,主要场景用于热部署.代码热替换等场景. 系统提供3种的类加载器:Bootstrap ClassLoad ...
- 由源码深入Java类加载器(双亲委派模型)
JVM类加载器 JVM主要有以下几种类加载器: 引导类加载器 主要加载JVM运行核心类库,位于JRE的lib目录下,如rt.jar中的类. 扩展类加载器 主要加载JVM中扩展类,位于JRE的ext目录 ...
- java疫苗之殇?关于java类加载器的一些思考
近日疫苗之殇闹得沸沸扬扬,究其原因是因为长春长生生物公司随意改动制药工艺,不管注射了这种疫苗会不会对身体有太大的影响,但是这严重影响了国民对医药的信任,可能导致国民不愿注射疫苗,对传染病防控带来极大打 ...
最新文章
- centos7 升级openssh7.4之后 报错
- 如何系统地入门学习stm32?
- 万级 K8S 集群背后,etcd 如何保持稳定性?
- 如何延长作用域链_第4部分2:作用域(链)和 闭包
- print的小白用法
- LNMP环境--搭建Discuz论坛
- php mb开启,windows环境下如何为php开启mb_string函数库功能
- Discrete Logging ZOJ - 1898 (模板题大小步算法)
- 5月第3周安全回顾 思科路由器Rootkit现身 企业需漏洞管理
- 台式电脑计算机图标打不开怎么办,电脑计算机图标打不开怎么办
- oracle auto failover,dg设置auto failover
- 网管必修课 中小企业安全路由器配置
- gtx1650显卡什么级别! GTX1650相当于什么显卡
- 虚拟机使用USB硬件设备
- android云测如何使用教程,iTestin使用教程-Testin云测.PDF
- Maven配置阿里云仓库和本地仓库
- 双线性插值与三线性插值
- 树莓派入门(三)之步进电机控制
- H5 高德、百度、腾讯地图选择导航功能实现
- python实现抽奖软件(一)
热门文章
- 电子计算机什么理论,电子计算机的工作原理是什么?
- gis怎么通过水库划分子流域_ArcGIS提取小流域——以北京为例,提取出密云水库...
- php 检测数组内是否有空值,PHP判断数组是否为空的常用方法
- java web 手机验证_Java 手机Web开发 身份验证
- 敏感词过滤的php代码,php实现敏感词过滤(Trie树)
- 2019黑马python面试资料_2019最新Python黑马头条推荐系统项目
- 三极管和MOS管有什么不一样?用MOS管还是三极管?
- 经常遇到的10大C语言基础算法(珍藏版源码)
- oracle 磁盘不分区吗,LINUX停ORACLE软件、数据文件等所在的磁盘分区空间不足的解决思路...
- 基于c语言画图软件,大佬们,小菜鸟想问一问用vc编译器做简易画图软件