Tomcat的核心就是连接器和容器。但是除了这两个模块,还有很多重要的模块,如Session管理模块、启动模块、部署器、日志管理器等等。随着版本的升级,Tomcat也越来越强大,架构模式也一次跟一次不同,用的技术也越来越高效。

     我是第一次读开源项目的源码,而且是跟着书读的,这本书的名字是《深入剖析Tomcat》。这本书把Tomcat4/5的设计思路写的很清楚,而且在详细讲述某个模块的时候,还刻意简化其他模块,用一些简化代码代替,以消除学习干扰。是一本很好的书。但是版本比较老了。而且我们读源码也不可能总是依靠书来。所以我在这总结一下,我认为的心得:
  • 读源码的目的是什么?
    • 体会代码模式、设计模式和架构模式,讲连接器的时候我主要讲设计模式,讲容器的时候,我主要讲的是架构模式
    • 体会每天都要接触的工具,究竟是怎么实现的
    • 开阔视野,我们平时提高技术靠两点,一点是学习理论,一点是项目实践。理论容易造成过度设计,实践容易造成不设计。读优秀源码可以让人体会,设计的时候什么时候宜直接,什么时候宜迂回。
  • 读源码的困难来源?
    • 源码公布者一般不会告诉你他的架构模式、设计模式是什么,设计思路是什么
    • 一般不会有人把读源码写成书
    • 网上的资料都是零碎的,而且并不权威
  • 怎么读源码?
    • 从使用者的角度,了解它的输入、输出,如果是你,你会怎么把输入变成输出?
    • 粗略划分源码项目的模型,并且从各种资料中验证你的想法
    • 各个击破,突出一个模块,简化其他模块
    • 做笔记,写心得