- 浏览: 17519 次
- 来自: ...
最新评论
文章列表
在这里主要分析IoAcceptor 和 IoProcessor。
IoAcceptor比较简单,它的核心代码都在AbstractPollingAccetor里,轮询代码在它的内部类Accetpor里的run方法里。请看下面的UML图:
IoProcessor比较复杂,它的主要代码是在AbstractPollingProcessor里的,轮询代码在它的内部类Processor里的run方法实现。值得注意的是,IoAcceptor所持有的IoProcessor引用,事实上是一个对象池。对象池负责调度某个Processor来处理请求。下面是UML类图
Mina暴露给开发者的接口主要是IoAcceptor(服务器端)或者IoConnector(客户端)。Mina内部具体是怎么实现侦听,处理连接的呢?我们先来介绍一下Mina的方法哲学或者说术语吧。
IoSession
IoSession: IoSession是一个客户连接的抽象,整个通讯框架可以说,都是围绕着IoSession工作的。
IoAcceptor: 初始化服务器,用的就是它
IoProcessor: 负责处理IoSession,包括创建,移除,读写事件的处理
IoFilter: 过滤消息或者说消息处理(通讯层的)
IoHandler: 消息处理(应用逻辑层的)
...
10元
杰克.韦尔奇自传
压力下的角逐
SQL PLSQL程序设计基础
测试驱动开发
管理学原理
礼物
首先打破一切常规
15元
Unix/linux编程实践教程
数据结构问题与求解(java版本)
20元
计算机网络
模式识别
SCJP考试指南
数据挖掘概念与技术
25元
linux设备驱动程序
个人转让, 地点:亚运村附近
电话:138-11无0-48其5
趁着最近比较闲,,花了几天时间粗略看了下Mina的源代码,把最近的心得写出来。一来,怕自己以后忘了。二来,也为跟我一样对Mina感兴趣的朋友们参考参考,免得少走弯路。
首先,Mina是什么?能帮我们做什么?我研究一个新技术的时候,首先问的就是这样的问题。我个人的理解就是Mina是一个关注于通讯层的框架,任何需要底层通讯的应用,都可以使用它。更详细准确的介绍,请看官方网站http://mina.apache.org/
Mina的优势:
1. 用NIO实现,无需太多线程。可以处理的并发量更大。
2. 对于应用层来 ...
大学里所学的第一门,也是唯一一门编程语言是C。虽然现在C在我眼中是那样的美丽和神秘,可当时,我却傻傻的错过了这个大美女。时至今日,每想于此,追悔莫及。只有经历痛苦,才会体验幸福;只有曾经失去,才会更加珍惜。人生也许就是如此,人的本性也许就是那么贱。。。
言归正传。大学毕业后,出于对计算机技术的好奇,我一个机械制造专业的学生,改行做了程序员。做程序员,自然得有一个追求。我经不住那个时候(2003年)java美女的招摇,甘愿拜倒在java裙下。从此,我就下定决心,一心跟着java,java就是我的全部,对此我深信不疑。就像大多数刚刚恋爱的人一样,整日生活在兴奋和憧憬中。 ...
- 2009-11-06 17:27
- 浏览 766
- 评论(0)
1. 变量赋值
例: message="you are right" 注意:等号两边不能有空格
2. $variable_name
获得变量的值: $variable_name
获得命令执行的输出结果:$(your_command) 例:echo $(ls -al /)
3. 双引号,单引号,转义符
转义符:\
测试代码:
your_name="steve"
echo "\$your_name=$your_name" 输出: $your_name=steve
echo '\$your_name=$your_name' 输出: ...
- 2009-10-16 17:30
- 浏览 764
- 评论(0)
Drupal Theme 自定义开发
1. 在sites/all/themes/下建立你自己的theme目录。如果你的theme叫abc,
最后的目录就像这样sites/all/themes/abc。该theme所学要的模板文件,图片,css文件,等等,都放在该目录下。
2. 自定义theme文件讲解:
page.tpl.php:
这个是主模板文件,也就是模板的入口。主模板文件一般定义了html页面的布局。主模板只负责页面的框架,也就是整体布局,并不定义具体某一块内容如何显示。具体要显示某一种内容时,主模板依靠其他模板来显示。比如说显示Node,主模板依靠node.tpl.php来显示 ...
- 2009-07-28 17:21
- 浏览 971
- 评论(0)
本文参考:http://edocs.bea.com/wls/docs100/cluster/failover.html
一: Programming Considerations for Clustered Servlets and JSPs
集群环境中的Servlet/JSP编程时注意事项:
1. Session Data Must Be Serializable
Session中存储的对象必须是可序列化的。
2. Use setAttribute to Change Session State
调用session对象的setAttribute方法,session对象和它的 ...
- 2009-05-12 14:47
- 浏览 1935
- 评论(0)
数据的机器的表示
任何类型的数据(例如文件)在计算机内部都是01数字串,CPU只认识01.
整数结构:
浮点数
文字
程序的机器表示
重要概念:桢栈,汇编语言
C语言程序的编译、链接和执行:
C源代码(文本格式) ==> 预处理器 ==> 预处理后的C源代码 ==> 编译器编译 ==> 汇编代码 ==> 汇编器处理 ==> 机器代码 ==> 连接器 ==> 可执行的机器代码(机器指令串)
汇编语言总结:
函数调用:
CPU体系结构
虚拟存储
- 2009-05-07 13:49
- 浏览 2574
- 评论(0)
开发自己的模块annotate
1 建模块目录
在sites/sall/modules下建目录custom,用来存放自定义模块
在sites/sall/modules/custom下建目录annotate,用来存放annotate模块的所有文件
2 在模块目录sites/sall/modules/custom/annotate/下建文件
1)annotate.info
2)annotate.module
3)annotate.admin.inc
- 2009-04-02 20:59
- 浏览 1384
- 评论(0)
前言:
大学里学过C语言,工作实践经验很少,很多东西已经遗忘。近来兴趣转向linux,打算补习补习C语言。
本文的内容将以知识点的形式描述,因为大家都喜欢快餐式文化。呵呵
1. 声明语句
全局变量声明
int a; 用标志符a声明一个整形变量,同时分配内存空间
static int a; 用标志符a声明一个整形变量,同时分配内存空间,该变量的作用域只限于本文件
extern int a; 声明变量a,(变量a在外部文件已经定义)
函数声明
int a(); 声明函数
extern int a(); 与"int a();&q ...
- 2009-03-31 14:28
- 浏览 927
- 评论(0)
Server.xml 注释
Server:
Server只能有一个,它代表整个JVM,server可以包含一个或者多个service
Service:
service包含一个或者多个connector和container。
Conector:
connector用来为container接收请求,和返回响应的。
Engine:
engine是顶层container,它可以包含一个或者多个host
Host:
host是虚拟主机,它可以包含一个或者多个context
Context:
context对应一个web application。
- 2009-03-27 17:12
- 浏览 1194
- 评论(0)
1. Bootstrap启动过程: org.apache.catalina.startup.Bootstrap
(1). 初始化classloader
commonLoader (common)-> System Loader
sharedLoader (shared)-> commonLoader -> System Loader
catalinaLoader(server) -> commonLoader -> System Loader
(2). 载入启动类 org.apache.catalina.startup.Catalina
(3). ...
- 2009-03-27 16:46
- 浏览 1679
- 评论(0)