没有合适的资源?快使用搜索试试~ 我知道了~
Syske#person-learning-note#Tomcat源码分析-壹——启动过程值init方法1
需积分: 0 0 下载量 13 浏览量
2022-07-25
14:33:42
上传
评论
收藏 7KB MD 举报
温馨提示
试读
前言从今天开始,我们开始分析tomcat的源码,至于原因嘛,第一Tomcat是非常优秀的web服务器,它占据着全球一半以上的市场份额,就连spring boot
资源推荐
资源详情
资源评论
# Tomcat源码分析 · 壹
tags: [#tomcat, #源码]
### 前言
从今天开始,我们开始分析`tomcat`的源码,至于原因嘛,第一`Tomcat`是非常优秀的`web`服务器,它占据着全球一半以上的市场份额,就连`spring boot`这样的顶级框架都在用`tomcat`做底层实现,这足以说明其流行程度。当然,其流行的另一个重要原因是,它是开源的,它是`apache`基金会下的一个顶级项目,相比做`java`开发的小伙伴应该没人不知道`tomcat`吧。
基于以上原因,我们今天来看下`Tomcat`的源码实现。
昨天在某乎上看到一个大佬分享了`Tomcat`的源码视频,大佬说关于源码的学习应该从以下几点入手:
- 组件及功能
- 设计模式
- 线程安全
- 对比联想
所以本次源码分析我们就从以上几点开始入手。我昨天说要加强设计模式就是从这里看来的,毕竟看清楚了设计模式,源码分析起来就没那么难了。
### Tomcat
首先,我们看`Tomcat`源码的结构:
![](
https://syske-pic-bed.oss-cn-hangzhou.aliyuncs.com/imgs/blog/20210926085107.png)
这个结构和我们平时下载到的发布版本基本上一致。这里源码剖析和版本无关,但是如果线上环境使用的话,建议使用最新版,因为`9.0.31`以下的版本存在漏洞,关于漏洞加固可以看下我之前分享的内容:
我们先来看下`bin`下面的启动脚本,从`startup`脚本中我们可以找到项目启动入口,这里我们以`windows`环境下的`bat`脚本为例:
![](
https://syske-pic-bed.oss-cn-hangzhou.aliyuncs.com/imgs/images/20210926131145.png)
![](
https://syske-pic-bed.oss-cn-hangzhou.aliyuncs.com/imgs/images/20210926132445.png)
可以看到`startup`脚本调用的是`catalina`脚本,而且传递的参数是`start`:
首先从下面的脚本中我们可以推测出,这里最终应该会通过执行`Bootstrap`的`main`方法来启动`Tomcat`,而且由于`%1`处的参数是`start`,所以最终他会去调用`noJpd
点击阅读更多
资源评论
臭人鹏
- 粉丝: 20
- 资源: 330
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 农村信用社联合社计算机信息系统投产与变更管理办.docx
- 农村信用社联合社计算机信息系统数据管理办法.docx
- 利用SPSS作临床效度分析线上计算网站介绍-医学研究部统计谘.(医学PPT课件).ppt
- 利用Zabbix监控mysqldump定时备份数据库状态.docx
- 利用计算机解决问题的基本过程.doc
- 化工铁路通信工程总结.doc
- 北京大学网络教育软件工程作业.docx
- 医药公司(连锁店)计算机操作规程未新系统的自行按照旧制修改-新系统过制的编号加修模版.doc
- 医药公司(连锁店)计算机系统操作规程模版.doc
- 医药连锁门店计算机系统的操作和管理程序未新系统的自行按照旧制修改-新系统过制的编号加修模版.docx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功