Tomcat(web服务器和servlet容器)

一、Tomcat介绍

        Tomcat是一个Web服务器和servlet容器,主要运行Java web应用程序。

二、Tomc架构

       骨架类图

1、http服务器

        http服务器主要功能为网络编程(socket处理)、应用协议解析(tcp报文解析)。

        网络编程由EndPoint类实现,支持的i/o模型有nio/bio,支持的应用层协议有http1.1,http1.2

,http 2.0等。

2、servlet容器

        servlet容器会将请求转发给对应的servlet进行处理,

        执行过程包括:

                a.根据url定位servlet。

                b.servlet执行业务代码进行处理。

3、热加载实现

        tomcat通过定时任务判断加载的类文件或者静态资源文件是否改变(通过对比文件的最后修改时间),如果有改变,则会创建新的Context对象实现重新加载。对于java类文件重新加载需要创建新的类加载器。

4、tomcat如何实现多应用部署

        每个应用对应一个Context对象,每个Context对象都有对应的WebAppClassLoader,应用对应的类由WebAppClassLoader加载,其破坏默认的双亲委派模型,加载顺序为:

        a.本地cache & tomcat加载器缓存

        b.bootStrapClassLoader -> $JAVA_HOME/lib

        c.javaExtClassLoader ->  $JAVA_HOME/ext/lib

        d.SharedClassLoader & webappClassLoader -> tomcat共享目录和每个应用对应的目录下jar包 

        e. appClassLoader  -> classpath下jar包。

5、tomcat 线程池优化

        默认的线程池线程扩充策略是当任务队列满后,若当前线程数小于最大线程数,则创建新线程执行。

        tomcat优化后策略是若当前线程数小于最大线程数,会立刻创建新线程执行。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值