开源
文章平均质量分 78
wangchengsi
就读于广东华南理工大学的一名小小硕士生
展开
-
启动框架 org.apache.catalina.startup
org.apache.catalina.startup.Bootstrap第一步自然从main函数开始,我们可以从中看出bootstrap的初始化过程 main函数首先是调用init方法 ,然后根据main的参数,比如start、startd、stop、stopd等等,启动或停止服务器 ps:start和startd的区别,感觉像是前者用于重新启动 init方法 设置系统属性:原创 2008-09-20 11:02:00 · 28087 阅读 · 5 评论 -
Vmware-Tools
最近升级了Ubuntu8.10,结果引来一连串的问题,算是学了不少东西,作个记录不能上网不知从什么时候起就突然不能上网了,我是用VMware的bridge方式连接的,指定了静态地址,host和guest都在路由器里面。但奇怪的是Ubuntu根本无法ping出去,只能ping自己的ip在网上逛了很久,问了一些linux高手,说有可能是Ubuntu的NetworkManager(就是Ubu原创 2009-05-17 08:01:00 · 3560 阅读 · 4 评论 -
《How Tomcat Works》读书笔记(四):容器初探
第四章:容器初探接触JAVA EE以来,最初对“容器”一词满头雾水、无比崇拜,后来听到耳朵长茧,一直觉得这个词的定义有点太广了,很多情况下不管沾没沾点关系的都往上靠,力图通过此术语使自己显得“专业”一些(老实说我写文档也这么做过)。但不论如何,发明这个计算机术语的人还是相当牛的,充分体现了JAVA EE“分层”的思想。唯一不爽的是,一直以来都处于“容器”的黑盒之外,更加上那些大厂商对自己的原创 2009-03-31 04:14:00 · 6805 阅读 · 2 评论 -
《How Tomcat Works》读书笔记(五):生命周期
第一次接触到“生命周期”这个词汇,是在软件工程的课程上,“软件的生命周期”,当时也是觉得有点玄,但还算可以理解:软件从需求分析到最后没人用,就像人的一生(人的“需求分析”是什么呢?这是个哲学问题...)扯远了,回到tomcat。tomcat的“生命周期”非常简单,说白了是一个接口:org.apache.catalina.Lifecycle,内容如下:public interface Lif原创 2009-04-15 14:35:00 · 5345 阅读 · 0 评论 -
《How Tomcat Works》读书笔记(二):Connector
Chapter Three:Connectortomcat的Connector名字叫做Coyote,我之前也写了几篇关于coyote的博客,不过在看了第三章后,才对tomcat的Connector有了更加深入的认识。需要说明的是,这一章的Connector只是一个简化版,而第四章介绍的也只是“默认”(旧版本)的Tomcat的Connector,正因为“默认”的Connector性能不佳,才产生原创 2009-03-12 14:28:00 · 5337 阅读 · 1 评论 -
《How Tomcat Works》读书笔记(一)
看了这本书的头三章,写得非常好,可谓深入浅出将tomcat分析的很透彻。虽然书中所讲述的tomcat是“简化版”,但内容也不算少,越到后面代码越多,也越复杂。为了加深印象,遂决定写读书笔记,“好记性不如烂笔头”,说不定还能方便他人。闲话少说,直入主题:Chapter One:A Simple Web Server第一章是一个非常简单的web server,主要目的在于让读者了解Java原创 2009-03-11 21:21:00 · 10070 阅读 · 5 评论 -
推荐一本好书《How Tomcat Works》
上学期忙这忙那的,基本上没时间继续看tomcat的源码。好不容易熬到期末考试结束了,想趁回家过年的空余时间继续研究研究代码,无奈硬盘偏偏坏了,整个寒假就没写过一行代码,只是在空余时间看完了《Java并发编程实践》,看完后惊叹自己对并发编程所知的是如此的皮毛,同时也顺便推荐一下这本书。不过呢,写这篇blog不是为了介绍《Java并发编程实践》,毕竟在网上已经有太多人讨论了。此处是介绍另外一本关于to原创 2009-03-03 07:09:00 · 35604 阅读 · 9 评论 -
Core buffer in Tomcat:org.apache.tomcat.util.buf
在写到coyote的时候,说起过tomcat如何提高性能的手段,就是以专门设计的缓冲区来替代简单的String,让TCP数据以字节的方式存储,非到必要时刻,不进行编码操作、不变成String,那样就可以节省很多cpu时间。具体的实现,就在org.apache.tomcat.util.buf这个包里,这里的类封装了对byte、char缓冲区的操作,诸如读、写、增加缓冲区大小,以及byte、char之原创 2009-02-18 03:08:00 · 6029 阅读 · 1 评论 -
Filters in Coyote
不知道Filter是哪位牛人的创意,反正现在的编程框架中到处可见filter的身影,例如struts2、servlet等等。就连tomcat内部的实现,同样也少不了filter接口:InputFilter OutputFilterInputFilter OutputFilter都是继承自InputBuffer的接口,两个接口大同小异,下面以InputFilter为例,介绍主要的方法原创 2008-09-29 11:26:00 · 3115 阅读 · 0 评论 -
Coyote for Http11: org.apache.coyote.http11
概述 这个包支持http1.1协议,内部分为三类:ARP、NIO、普通http,这里只对最基本的普通http(使用java的IO流,而非NIO流)作简单研究 根据上一篇提到的coyote的接口,这个包主要有以下几个类: Http11Protocol,实现了ProtocolHandler接口 Http11Processor,实现了ActionHook接口 Internal原创 2008-09-29 04:53:00 · 45903 阅读 · 2 评论 -
Tomcat连接器:Coyote框架
不论Tomcat的容器设计得如何精妙,本质上Tomcat就是个http服务器,需要从socket中获得HTTP数据流;另一方面,容器只能处理封装好的org.apache.coyote.Request (这个类的具体用途下面会讲到),从socket到Request之间需要有个转换过程。因此,连接socket和容器之间的重任就交给了CoyoteCoyote简介coyote(北美的一种狼、山狗)原创 2008-09-24 06:16:00 · 28593 阅读 · 6 评论 -
Tomcat源码学习
前言·想法写这个系列最初的想法是,用了那么多的开源产品了,总该回报一下社会。虽然水平有限不能做个开源项目出来,但研究一下开源产品、记录一些心得,或许将来对有能力做开源项目的人有点帮助。毕竟中国对开源世界的贡献实在太小,我写些中文版的tomcat源码资料,就算没人用得着,我也当一种耐心的锻炼吧。因为真的要把这个系列写完整,肯定是相当考验我的耐心和毅力。虽然未来有各种不可预期的变故让这个系列最终虎原创 2008-09-23 04:20:00 · 22864 阅读 · 2 评论 -
Xephyr 1.6.0的bug
最近为了准备Nokia的比赛,开始埋头苦学linux下的c编程。之前在Vmware上搭建了开发环境,不过用起来始终不爽,现在终于从实验室霸到了一台牛B哄哄的机器,还支持双头输出,于是找了两台飞利浦19寸的显示器拼在一起,看起来很壮观,这是显示器屏幕的截图,还特地下载了一个酷酷的双屏壁纸 不过,事实证明,linux不是拿来给你扮酷的,虽然现在的Ubuntu已经做得非常好用,但总是难免会原创 2009-07-11 15:16:00 · 3828 阅读 · 3 评论