深入拆解Tomcat & Jetty--极客时间课程推荐/优惠
版权声明
本站非极客时间官网,与官方无任何关系。我们不提供课程下载或详细内容,仅作为课程分享和推荐平台。我们鼓励大家支持正版,尊重创作者的劳动成果,这样不仅能帮助创作者持续产出优质内容,也能让自己获得更好的学习体验。请通过官方渠道购买和学习课程,感谢您的理解与支持。
课程详情
你将获得:
- 通过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的并发调优、内存调优和网络调优等。
课程目录
开篇词
- 开篇词 | 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的知识你都掌握了吗?