tomcat 2 源码答题解读

1.bootstrap server,service,connection,engine,context,这些组件声明周期如何管理,用lifecycle管理启动,停止,关闭
2.连接器,connector->container,连接器就是处理ip,分开就是为了解耦,为了servlet升级,容器模块不用改变
3.管道模式
4.jvm中类加载,和类加载器,
  启动类加载器,bootStrap classload,extension 扩展类加载器,application 应用程序类加载器,customer 自定义类加载器
  双亲委派模型,一直往上找,但是你可以重写,classLoad方法,就打破了双亲委派模型
5.为什么要搞这个模式呢?为了稳定性的,所有类都是object类型,你自己写一个会怎么样呢
6.tomcat中的类加载器,common类加载器,catalina类加载器,shared类加载器 webapp类加载器,
  webapp类加载器,为什么打破双亲委派模型
  tomcat类加载的考虑,隔离性,不同webapp肯定有不同的类加载器
  灵活性,一个改了,不影响其它的的
  性能,就是尽可能,少加载class文件,一个tomcat加载一个webapps
7.reload,这种热加载,tomcat是怎么实现的,通过定时任务去做的
8.优化,为什么需要嵌入式启动?
  部署负责度,架构约束,微服务架构,springboot就是嵌入式部署,方式就是 Tomcat tomcat=new Tomcat();
9.server.xml 配置优化,io模式的优化,改成nio,当然8.5就是nio(nio2>apr>nio>bio)
  线程数--(连机器)maxThreads 官方最大数量200,单cpu4,8一般可以优化800-1000
  压缩,网络传输
  使用线程池
  去掉不必要的日志,accesslog,有负载均衡的话, 这个日志没有意思
  关闭自动重载,热部署
  web.xml的优化,
  去掉不必要的servlet
10.tomcat中常见的设计模式,最常用的是模板,pipeline,还有管道,就是责任链模式
 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

張義帥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值