tomcat为什么要自定义类加载器?

一个Tomcat中可以部署多个应用,而每个应用中都存在很多类,并且各个应用中的类是独立的,全类名是可以相同的。

比如一个订单系统中可能存在com.xushu.User类,一个库存系统中可能也存com.xushu.User类,一个Tomcat,不管内部部署了多少应用,Tomcat启动之后就是一个Java进程,也就是一个JVM,所以如果Tomcat中只存在一个类加载器,比如默认的AppClassLoader,那么就只能加载一个com.xushu.User类,这是有问题的。

而在Tomcat中,会为部署的每个应用都生成一个类加载器实例,名字叫做WebAppClassLoader,这样Tomcat中每个应用就可以使用自己的类加载器去加载自己的类,从而达到应用之间的类隔离,不出现冲突。

另外,Tomcat还利用自定义加载器实现了热加载功能。

总结:让多个应用能分别加载各自的类,从而不造成影响

相关推荐

  1. tomcat为什么定义

    2024-07-17 01:18:02       21 阅读
  2. JVM学习-定义

    2024-07-17 01:18:02       27 阅读
  3. 如何定义双亲委派中

    2024-07-17 01:18:02       29 阅读
  4. jvm

    2024-07-17 01:18:02       46 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-17 01:18:02       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-17 01:18:02       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-17 01:18:02       58 阅读
  4. Python语言-面向对象

    2024-07-17 01:18:02       69 阅读

热门阅读

  1. Web 安全之 VAPT (漏洞评估与渗透测试)详解

    2024-07-17 01:18:02       20 阅读
  2. VScode编译c++代码json配置

    2024-07-17 01:18:02       23 阅读
  3. 【DRAM存储器三十四】LPDDR4介绍--MR和IO结构

    2024-07-17 01:18:02       17 阅读
  4. AI发展中的伦理挑战与应对策略

    2024-07-17 01:18:02       23 阅读
  5. 2024睿抗机器人开发者大赛CAIP编程赛题解(c++)

    2024-07-17 01:18:02       25 阅读
  6. ardupilot 系统时间见解

    2024-07-17 01:18:02       16 阅读
  7. EFFICIENT MODULATION FOR VISION NETWORKS

    2024-07-17 01:18:02       16 阅读
  8. 里氏替换原则

    2024-07-17 01:18:02       22 阅读