极客时间 深入拆解 Tomcat & Jetty
从源码角度深度探索 Java 中间件 | 李号双 eBay 技术主管 | 专栏 已完结·共 45讲 |
你将获得
- 通过 Tomcat&Jetty 深入理解 Java 进阶技术✔
- 掌握了 Tomcat&Jetty 中间件的设计思想✔
- 解读 Servlet 最新技术及实际应用✔
- 让 Web 程序飞起来的性能调优策略✔
课程介绍
作为一名 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 的并发调优、内存调优和网络调优等。
评论(1)
太牛掰了