Tomcat类加载机制以及线程上下文类加载器

本文详细介绍了Tomcat的类加载机制,包括如何解决多个Web应用之间的隔离、JSP热部署、服务器类库独立以及类库共享等问题。通过分析类加载结构,阐述了Common、Shared、Catalina和WebApp类加载器的作用,以及如何利用线程上下文类加载器打破双亲委托机制,实现不同Web应用间的类隔离和共享。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Tomcat类加载机制以及线程上下文类加载器

  

tomcat类加载需要解决的问题

tomcat是一个很经典的web服务器,一个服务器就相当于一个Java应用,而在这个Java应用中又有着多个被部署的Web应用,因此,有着如下的几个问题等着被解决:

1、多个web应用之间不能相互影响;

2、jsp能够热部署;

3、web服务器本身使用的类库,不被干扰;

4、多个web应用能够共享lib;

我们先来回顾一下传统的类加载机制的流程图:

双亲委托机制

在双亲委托机制中,启动类加载器为Java启动时需要加载的类,拓展类加载器为jre中一个叫ext文件夹底下的类,应用加载器则是加载classpath底下的类,可以通过System.getProperty("java.class.path");获得,用以加载应用编译产生的类。

双亲委托是为了保证类在内存中的唯一性,防止如恶意Object类出现的类似情况,而产生的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值