自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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关注的人

提示
确定要删除当前文章?
取消 删除