- 博客(6)
- 收藏
- 关注
原创 常见Linux IO模型分析
LINUX常见IO模型介绍UNIX中常见IO模型有五种:阻塞 IO、非阻塞IO、多路复用IO、异步IO、信号驱动IO。其中阻塞IO、非阻塞IO、多路复用IO、信号驱动IO都属于同步IO。同步IO和异步IO同步IO:应用程序主动向内核查询是否有可用数据,如果有自己负责把数据从内核copy到用户空间。异步IO:应用程序向内核发起读数据请求需要:(1)告诉内核数据存放位置(2
2014-10-09 08:10:47
479
原创 tomcat6源码分析一(核心模块分析)
本文以tomcat6源码为基础,主要分享如下内容:tomcat总体架构tomcat核心模块分析本文主要目的是梳理清楚tomcat有哪些核心模块以及这些模块之间的关系。文章使用类图阐述这些内容。总体架构Tomcat是目前非常流行的web容器,tomcat总体架构见下图。图1 Tomcat总体架构图Tomcat最外层是一个Server模块,它控制整个tomcat
2014-10-09 08:10:19
387
原创 tomcat6源码分析二(初始化和启动流程)
本节主要使用时序图阐述tomcat的启动流程。Tomcat有两种启动方式:一种从Bootstrap启动,一种是从Catalina启动。Bootstrap和Catalina类都有入口main函数。这里以Bootstrap启动为例分析。生命周期管理(Lifecycle接口)Tomcat中核心组件都有生命周期,那么tomcat又是如何管理这些组件的生命周期呢?为方便管理这些组件的生命周期,t
2014-10-09 08:09:17
388
原创 tomcat6源码分析三(请求处理过程)
本文主要通过流程图和序列图的方式剖析tomcat请求处理流程。从tomcat6源码分析一和tomcat6源码分析二两篇文章我们对tomcat的总体架构、核心模块、以及tomcat初始化和启动流程有了一个比较详细的了解。多个Connector和一个Container共同组成了一个Service,Service启动后便可以接收和处理用户http/ajp等请求。这里我们依HTTP1.1为例进行分析。To
2014-10-09 08:08:39
404
原创 Tomcat6 NIO源码剖析一
在tomcat6源码分析系列博客中,具体分析了tomcat6的架构、核心模块、初始化流程、启动流程以及处理请求流程。其中初始化、启动、处理请求流程都是以tomcat的BIO模型为例讲解。NIO源码剖析系列则从NIO模型方面讲解tomcat这三个流程。tomcat NIO介绍不管是BIO还是NIO,Tomcat启动和处理流程都是一样的。只是Connector中使用的ProtocolHan
2014-10-09 08:05:24
480
原创 tomcat6 NIO源码剖析二(NIO工作流程)
本文主要分析NIO各个组件是如何协同工作的,剖析tomcat NIO实现原理和工作流程。建议读者先阅读tomcat6源码分析系列的三篇文章,NIO实现虽然和BIO实现有很大的不同,但总体的处理思路是相似的。所以理解了BIO模型的处理流程后,理解NIO模型也会容易很多。另外本文默认读者已经对JDK的NIO模型编程有一定了解,否则理解起来可能会比较困难。下面分为六个小节来阐述tomcat的NIO实现。
2014-09-05 14:23:23
363
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人