You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

98 lines
5.8 KiB
Markdown

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# 深入拆解Tomcat & Jetty
## 618 狂欢 | 课程专属口令
全场专栏、视频课,使用口令「**618gogogo**」
**立享 7 折优惠 **
\*此优惠不与会员折扣同享
[![](https://static001.geekbang.org/resource/image/39/c6/39734c773yye3bb66bc5df3db9f528c6.jpg)](https://time.geekbang.org/hybrid/pvip?utm_term=zeusSP82B&utm_source=geektime&utm_medium=geektime&utm_content=text)
## 你将获得
* 通过Tomcat&Jetty深入理解Java进阶技术
* 掌握了Tomcat&Jetty中间件的设计思想
* 解读Servlet最新技术及实际应用
* 让Web程序飞起来的性能调优策略。
## 讲师介绍
李号双eBay技术主管负责eBay付款系统的可靠性、稳定性和高可用**系统采用定制版的Tomcat运行大规模微服务实例**。李号双非常熟悉Tomcat和Jetty的源码具有丰富的线上问题定位和调优经验曾在惠普从事企业级分布式系统的开发与架构设计拥有丰富的容器化上云经验。
## 课程介绍
作为一名Java Web开发工程师不知道你是否有过下面这些经历
* 对一些Java技术感觉似懂非懂
* 不知道怎么把Java技术用到实际的项目中
* 给你一个业务场景,拿不出靠谱的设计方案?
* Spring框架层面的问题不知道如何定位和修复
* 性能调优没思路?
这其中的很多问题其实最终都指向经验不足、设计能力有待提高没有深刻理解Web的工作原理。而Web容器Tomcat或Jetty作为重要的系统中间件连接着浏览器和你的Web应用并且支撑着Web程序的运行可以说**弄懂了Tomcat和Jetty的原理Java Web开发对你来说就毫无秘密可言**。
那么再换个角度从一名Java Web开发工程师的成长来看每个人都会经历
* 维护老项目;
* 实现一个小模块;
* 独立设计一个子系统;
* 负责整体的架构方案。
你会发现其中个人的成长可能都会从Tomcat或Jetty开始逐步积累经验提高设计能力最终成长为一名架构师。而且作为初学者想要找准方向突破深度Tomcat和Jetty也是非常好的选择。
当然如果你现在是一名运维或者中间件开发乃至架构师同样的每天的工作多少都离不开与Tomcat或Jetty打交道它总是会在不同场合以不同问题的形式出现在我们面前。
所以不管你是初学、已经在使用或是认为自己已经非常熟悉它们,都有必要**重新深入进去**,掌握其中的设计精髓,并为自己所用。
在这个专栏里李号双将会详细剖析Tomcat和Jetty的架构设计和原理梳理实践中经常遇到的问题深入分析并提供解决方法还会带你学习大神们如何“用”Java技术帮你提升设计思维解决你Java Web后端开发的“痛点”。
专栏分为6个模块。
**模块一**帮你重新理解HTTP协议和Servlet规范为深入学习Servlet容器Tomcat和Jetty打下基础。
**模块二**带你深刻掌握Tomcat和Jetty的整体架构提炼它们的组件化设计要点实战优化Tomcat启动速度。
**模块三**深入讲解连接器的详细设计和工作原理和你一起了解Tomcat如何实现非阻塞和异步I/O通信、如何扩展Java原生线程池、如何支持WebSocket详解Jetty的线程策略EatWhatYouKill总结Tomcat和Jetty的对象池技术以及高并发高性能之道。
**模块四**详细分析容器的设计和工作原理讨论Tomcat的热加载热部署、类加载机制、Web应用的隔离以及如何实现Servlet规范、如何实现异步Servlet探讨Jetty如何实现带有上下文信息的责任链总结Tomcat和Jetty运用的设计模式。
**模块五**介绍通用组件的设计和工作原理包括日志组件、Session管理组件和集群通信组件。
**模块六**从实战出发介绍JVM调优的原理、Tomcat性能监控以及如何对Tomcat进行调优包括线程池和I/O的并发调优、内存调优和网络调优等。
## 课程目录
![](https://static001.geekbang.org/resource/image/ed/80/ed9c6b86a9629db9931c244562a12080.jpg)
## 特别放送
#### 免费领取福利
[![](https://static001.geekbang.org/resource/image/3b/f4/3bdf677ae6490acb5f2899985e9337f4.jpg?wh=1029x315)](https://time.geekbang.org/article/455497)
#### 限时活动推荐
[![](https://static001.geekbang.org/resource/image/67/a0/6720f5d50b4b38abbf867facdef728a0.png?wh=1035x360)](https://shop18793264.m.youzan.com/wscgoods/detail/2fmoej9krasag5p?dc_ps=2913145716543073286.200001)
## 订阅须知
1. 订阅成功后推荐通过“极客时间”App端、Web端学习。
2. 本专栏为虚拟商品,交付形式为图文+音频,一经订阅,概不退款。
3. 订阅后分享海报,每邀一位好友订阅有现金返现。
4. 戳此[先充值再购课更划算](https://shop18793264.m.youzan.com/wscgoods/detail/2fmoej9krasag5p?scan=1&activity=none&from=kdt&qr=directgoods_1541158976&shopAutoEnter=1),还有最新课表、超值赠品福利。
5. 企业采购推荐使用“[极客时间企业版](https://b.geekbang.org/?utm_source=geektime&utm_medium=columnintro&utm_campaign=newregister&gk_source=2021020901_gkcolumnintro_newregister)”便捷安排员工学习计划,掌握团队学习仪表盘。
6. 戳此[申请学生认证](https://promo.geekbang.org/activity/student-certificate?utm_source=geektime&utm_medium=caidanlan1)订阅课程享受原价5折优惠。
7. 价格说明:划线价、订阅价为商品或服务的参考价,并非原价,该价格仅供参考。未划线价格为商品或服务的实时标价,具体成交价格根据商品或服务参加优惠活动,或使用优惠券、礼券、赠币等不同情形发生变化,最终实际成交价格以订单结算页价格为准。