20240128周报-网络太杂,Tomcat太难

今天来做个小总结吧,之前说想用几个月的时间将Java生态给整理一遍,该工作已经进入第三周了。先和各位老老板汇报一下上一周的工作,然后说一下本周的计划和后面的计划。

1.上周工作

上周的计划是将网络和Tomcat的内容梳理一番,但是在执行的时候发现这两个看似简单的内容一点都不简单。

首先是网络,我们现在只要关注应用层的问题, 在整理的时候发现HTTP的协议本身确实不是很复杂,但是HTTP的实战场景是非常多的。这个后面持续积累吧。

其次是Tomcat,凡是从事过Java开发的同学,应该没人不知道Tomcat,最近研究其代码,发现这个看似很熟悉的工具,其实现并不简单, 甚至还挺复杂的。所以最近Tomcat的更新也就慢了下来。

前面我们说了,想提高自己,一个好的方式是"简单的事情深入做,复杂的事情简化做"。那Tomcat就是"简单的事情深入做"的典型。

在最近看Tomcat源码的时候发现有几个重要的技术专题可以在Tomcat中深入研究:

1.NIO,Tomcat在管理外部连接请求的时候使用的就充分考虑了多种IO模型的问题,我们之前一般学习Netty的时候才会重点研究这内容,但是不代表只有netty需要。因此对比Tomcat和Netty

,我们可以融会贯通研究IO,吊打面试官就容易多了。

2.双亲委派机制机制以及如何打破双亲委派机制,在学习JVM的时候,我们会花很多精力来研究双亲委派机制的问题,那有什么地方继续拓展双亲委派机制呢?笔者知道的有两个典型的场景会涉及,一个就是Tomcat,一个是Dubbo。Tomcat之所示使用,是因为一个Tomcat可以执行多个web程序,而不同的web程序之间的版本可能是不一样的,比如有的是Spring4,有的是Spring5,那这时候执行的时候很容易发生包冲突等情况,而Tomcat打破双亲委派机制的原因就是为了解决这个问题。

3.线程池问题,我们在学习多线程的时候,都学过原生Java多线程模型的问题,而Tomcat对其进行了扩展,那为什么要扩展,如何扩展的,有什么好处,都是值得我们研究的问题。这个问题理解清楚了,我们以后看Java程序会非常通透。

2.本周工作

本周继续研究Tomcat,努力将其基础结构、核心机制、常见优化策略整理清楚。准备发布博客10篇左右。

加油!

相关推荐
计算机毕设定制辅导-无忧学长13 小时前
《基于SpringBoot青年公寓出租管理系统的设计与实现》
java·vue.js·spring boot·青年公寓出租管理系统
泡海椒14 小时前
JQuick-Curl 二次开发:自定义解析器、扩展点开发指南,如何把框架能力真正变成团队资产
java·开发语言·okhttp·maven
青山木15 小时前
Hot 100 --- 数组中的第K个最大元素
java·数据结构·算法·排序算法
玛卡巴卡ldf15 小时前
【AICoding】笔试提示词设计思路
java·算法·ai编程
珍珠先生15 小时前
第10章 JDK 17 新特性:语法糖与新能力
java
吴声子夜歌16 小时前
ApacheCommons——commons-text(模板替换与文本算法)
java·开发语言·算法·apache
Haooog16 小时前
Agent 开发中的 Memory:State、短期记忆、长期记忆与 Memory Retrieval
java·agent·memory
砚底藏山河16 小时前
【量化纯GET实战 #23】多股票相关性:用收益率看板块联动
java·数据库·python·金融·数据分析
抠脚小弟17 小时前
Spring Cache 使用详解:从入门到实战
java·spring
ZGG00317 小时前
MySQL 索引详解:B+ 树、聚簇索引与最左前缀
java·数据库·mysql