很久之前就开始对Tomcat感兴趣,于是开始查询如何学习Tomcat,发现论坛里好多的观点都说,《How Tomcat Works》是学习Tomcat的必备书籍。于是自己开始学习这本书。看这本书到现在已经一个多月了吧。看到现在是有好多的感悟,迷茫。与大家分享下,共同探讨下。
我的工作性质是一个serlet程序员,同时也会接触好多的前端。工作算上实习的时间已经有一年多了。但是在工作的一年中里。我都会有一个困惑。java是面向对象编程的语言,但是在自己的工作的过程中,感觉自己一直迷糊的荡漾在空中,感觉没有用到面相对象的思想。公司的框架是围绕监听进行的。感觉用到的对象不多似的。但是看过How Tomcat Works 一书,对面相对象的感触明显就加深了好多认识。下面我举个例子。第三章将的连接器。连接器就像一个流水线,首先登场的是HttpConnector先生,它创建ServiceSocket,让它来接受客户端传递过来的Socket,Socket就像古时候的快马加鞭送信的使者,HttpConnectot迎进使者之后,马上在叫HttpProcessor过来,把使者给HttpProcessor,说把它交给你,我就等下一个使者了。HttpProcessor更是不能马虎,它要弄清楚使者是干嘛来了,并且把使者的来意通过正规的方式传递给皇上,于是她就写了两篇奏则HttpRequest,HttpResponse,准备把这两个呈递上去,呈递之前他和socket谈谈,在parseHeader中和parseRequestLine中的时候,它请来了socketInputStream,socketInputStream负责解析Socket的则子inputStream。解析好了之后把它装载到HttpRequest、HttpResponse中,装在之后,把他俩传给servletProcessor就OK。看看第三章中介绍的简易的连接器,都是对象,让我小小的体会到了一切皆对象。
在这里惭愧的说一下我的进度啊,我才刚把第三张看完。在我看过的内容里,让我对面相对象编程有了比以前深刻的了解。这本书的写法有一种循序渐进的感觉,最新一张的东西会用到前面的东西。而且,他是从一个小demo开始,一点一点的引入新的概念,重写同样功能的代码,一点一点地完善的。这本书中书中有主要的代码,并有主要代码的讲解。然后这本书又一个附件,上面数据这本书中的完整代码。我的困惑是学习这本书的效率有点低。现在的学习方式是把书上的代码及讲解都看完,然后照着附件的源码敲代码,把所有的都搞定了,在向下进行。有的时候,源码远比书上讲的代码多,写代码的时候也难免犯困。有的时候,书上的内容看完两三天了,但是因为源码没有敲完,还是没有向下进行。有的时候,源码写多了,发现没动啥意思,困惑一星期,发现书的后面有那段代码的介绍,等等等等。我是一个“小学生”,我在努力学习!
感悟与困惑!