所有分类
  • 所有分类
  • C\C++
  • Java
  • Python
  • 人工智能
  • 前端
  • 大数据
  • 数据库
  • 未分类
  • 测试
  • 安全

深入拆解Tomcat & Jetty

深入拆解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 的并发调优、内存调优和网络调优等。

开篇词 | Java程序员如何快速成长?
01 | Web容器学习路径
02 | HTTP协议必知必会
03 | 你应该知道的Servlet规范和Servlet容器
04 | 实战:纯手工打造和运行一个Servlet
05 | Tomcat系统架构(上): 连接器是如何设计的?
06 | Tomcat系统架构(下):聊聊多层容器的设计
07 | Tomcat如何实现一键式启停?
08 | Tomcat的“高层们”都负责做什么?
09 | 比较:Jetty架构特点之Connector组件
10 | 比较:Jetty架构特点之Handler组件
11 | 总结:从Tomcat和Jetty中提炼组件化设计规范
12 | 实战:优化并提高Tomcat启动速度
13 | 热点问题答疑(1):如何学习源码?
14 | NioEndpoint组件:Tomcat如何实现非阻塞I/O?
15 | Nio2Endpoint组件:Tomcat如何实现异步I/O?
16 | AprEndpoint组件:Tomcat APR提高I/O性能的秘密
17 | Executor组件:Tomcat如何扩展Java线程池?
18 | 新特性:Tomcat如何支持WebSocket?
19 | 比较:Jetty的线程策略EatWhatYouKill
20 | 总结:Tomcat和Jetty中的对象池技术
21 | 总结:Tomcat和Jetty的高性能、高并发之道
22 | 热点问题答疑(2):内核如何阻塞与唤醒进程?
23 | Host容器:Tomcat如何实现热部署和热加载?
24 | Context容器(上):Tomcat如何打破双亲委托机制?
25 | Context容器(中):Tomcat如何隔离Web应用?
26 | Context容器(下):Tomcat如何实现Servlet规范?
27 | 新特性:Tomcat如何支持异步Servlet?
28 | 新特性:Spring Boot如何使用内嵌式的Tomcat和Jetty?
29 | 比较:Jetty如何实现具有上下文信息的责任链?
30 | 热点问题答疑(3):Spring框架中的设计模式
31 | Logger组件:Tomcat的日志框架及实战
32 | Manager组件:Tomcat的Session管理机制解析
33 | Cluster组件:Tomcat的集群通信原理
特别放送 | 如何持续保持对学习的兴趣?
34 | JVM GC原理及调优的基本思路
35 | 如何监控Tomcat的性能?
36 | Tomcat I/O和线程池的并发调优
37 | Tomcat内存溢出的原因分析及调优
38 | Tomcat拒绝连接原因分析及网络优化
39 | Tomcat进程占用CPU过高怎么办?
40 | 谈谈Jetty性能调优的思路
41 | 热点问题答疑(4): Tomcat和Jetty有哪些不同?
结束语 | 静下心来,品味经典
结课测试 | 这些Tomcat&Jetty的知识你都掌握了吗?
阅读全文
资源下载
下载价格20
虚拟资源,一经购买,概不退款,如有问题联系客服QQ:904745566!
常见问题
是否支持单个资源购买?
答:点击“立即购买”,即是单个资源购买。
开通VIP会员后,是否支持全部资源下载,如何开通VIP会员?
答:点击“升级VIP”按钮,支付完成后即可开通VIP会员,VIP会员支持全站课程免费下载。
链接失效怎么办?
答:联系客服QQ:904745566,获取最新下载链接。
原文链接:http://xpozhan.com/code/java/1430/,转载请注明出处。
0

评论0

请先
数据分析实战45讲
数据分析实战45讲
刚刚 有人购买 去瞅瞅看
显示验证码
没有账号?注册  忘记密码?