Tomcat源码解读
文章平均质量分 96
答应我,和我一起领养这只可爱的Tomcat,不要放弃!
徐同学呀
致力于java底层、源码、中间件、后端领域学习和探索。热爱源码,热爱生活,持续改进,坦诚合作!
展开
-
WebSocket通信原理和在Tomcat中实现源码详解(万字爆肝)
WebSocket的出现不是空穴来风,起初在HTTP/1.1基础上通过轮询和长连接达到信息实时同步的功能,但是这并没有跳出HTTP/1.1自身的缺陷。HTTP/1.1明显的两个缺陷:消息头冗长且为文本传输,请求响应模式。为此,WebSocket诞生了,跳出HTTP/1.1,建立一个新的真正全双工通信协议。原创 2021-08-31 20:29:07 · 9468 阅读 · 57 评论 -
Tomcat连接器Connector源码解读(一)架构概览,如何设计?为什么这样设计?
Connector作为独立模块,封装底层网络通信,使Servlet容器和具体的协议及I/O方式解耦,易扩展、高性能。这也使得架构变得抽象复杂,Connector需要应对多种协议和I/O方式的组合,高度的抽象和封装。Connector只负责接收和解析请求,具体的业务处理还需要交给容器,所以需要一个适配器作为Connector和Container连接的桥梁。原创 2021-08-10 00:04:26 · 1285 阅读 · 30 评论 -
Tomcat主线程监听SHUTDOWN,如何远程关闭Tomcat?守护线程守护了谁?
守护线程里创建线程的线程默认也是守护线程。当所有的非守护线程退出后,守护线程因为没有了守护对象也就跟着结束了。(周末水文)原创 2021-07-03 18:31:31 · 1502 阅读 · 24 评论 -
窥探Tomcat整体架构,server.xml常用配置解析
如果能对 Tomcat 有一个高屋建瓴的把握,然后再庖丁解牛,一步步深入源码中分析每一个核心功能的实现细节,才能达到事半功倍的功效。原创 2021-06-27 22:46:33 · 1408 阅读 · 32 评论 -
Tomcat的启动与关闭:详解启动类Bootstrap和Catalina,彻底搞懂catalina.home和catalina.base的区别和作用范围
Bootstrap作为一个启动引导类,通过加装org.apache.catalina.startup.Catalina,对Catalina发号施令,其目的是保证了Catalina和Bootstrap的隔离和实现细节不可见,其次二者可以单独打包,像组件一样进行组装和拆除。原创 2021-06-13 08:12:15 · 3982 阅读 · 10 评论 -
搭建Tomcat源码阅读环境,无bug运行调试。答应我,和我一起学习Tomcat,不要放弃!
全网最好,没有之一,无bug运行Tomcat源码。经验分享,学习总结。原创 2021-06-06 11:17:24 · 3998 阅读 · 51 评论 -
Tomcat如何快速响应静态资源(DefaultServlet+浏览器缓存)
Tomcat利用浏览器缓存,在第一次请求时,进行io操作读取文件内容返回给浏览器;第二次请求,如果文件没有修改过,则返回304状态码告知浏览器文件没有修改,可以直接从浏览器缓存中读取。第三次请求,此时文件修改了,则io读取文件内容返回给浏览器。原创 2021-05-21 16:26:40 · 1791 阅读 · 2 评论