Apache Mina
文章平均质量分 94
阿-杰
享受挨踢的人生,分享技术的精彩!
展开
-
Mina源码阅读笔记(二)- IoBuffer的封装
在阅读IoBuffer源码之前,我们先看Mina对IoBuffer的描述:A byte buffer used by MINA applications. This is a replacement for ByteBuffer. 这是一个对ByteBuffer的replacement,同样是用作缓冲区,做内容的切换和承载的容器,为什么要用重新封装ByteBuffer,MINA是这么给出解释的原创 2014-05-13 22:09:55 · 1260 阅读 · 0 评论 -
Mina源码阅读笔记(四)—Mina的连接IoConnector1
上一篇写的是IoAcceptor是服务器端的接收代码,今天要写的是IoConnector,是客户端的连接器。在昨天,我们还留下一些问题没有解决,这些问题今天同样会产生,但是都要等到讲到session的时候才能逐步揭开。先回顾一下问题:l 我们已经在AbstractPollingIoAcceptor中看到了,mina是将连接(命令)和业务(读写)分不同线程处理的,但是我们还没有看到mina原创 2014-06-01 16:49:52 · 1617 阅读 · 0 评论 -
Mina源码阅读笔记(四)—Mina的连接IoConnector2
接着Mina源码阅读笔记(四)—Mina的连接IoConnector1AbstractIoAcceptor:001package org.apache.mina.core.rewrite.service;002 003import java.io.IOExce原创 2014-06-01 16:51:31 · 1369 阅读 · 0 评论 -
Mina源码阅读笔记(六)—Mina异步IO的实现IoFuture
IoFuture是和IoSession紧密相连的一个类,在官网上并没有对它的描述,因为它一般不会显示的拿出来用,权当是一个工具类被session所使用。当然在作用上,这个系列可并不简单,我们先看源码的注释对它的描述:IoFuture represents the completion of an asynchronous I/O operation on an IoSession.原创 2014-06-01 16:54:51 · 1525 阅读 · 0 评论 -
Mina源码阅读笔记(五)—Mina对连接的操作IoSession
接上一篇Mina源码阅读笔记(四)—Mina的连接IoConnector2IoSession是Mina管理两端的一个重要部分,也是Mina的核心,Session具有了生命周期的概念,它的生命周期和连接时紧密相关的,这点在后面的介绍中会涉及。另外,好像hibernate中也有session也有生命周期(真的是好久没有用了,连hibernate有里session是干嘛的都想不起来了)。原创 2014-06-01 16:53:23 · 1452 阅读 · 0 评论 -
Mina源码阅读笔记(一)-整体解读
今天的这一节,将从整体上对mina的源代码进行把握,网上已经有好多关于mina源码的阅读笔记,但好多都是列举了一下每个接口或者类的方法。我倒是想从mina源码的结构和功能上对这个框架进行剖析。源码的阅读一般有如下几种方法:第一,根据问题读源码,这种方法可能用的最多,哪里有问题了,然后F3一步步点进去;第二种,专门为了读源码而读,从整体到局部,总用法到设计。第三种,可是根据软件的设计特点,根据特点逐原创 2014-05-13 22:09:01 · 1245 阅读 · 0 评论 -
同步和异步,阻塞和非阻塞
什么是阻塞和非阻塞;什么是同步和异步;FTP传输在局域网中为什么这么快;C/S下采用什么样的模式才能更快,或者客户端怎么样才能发的更快;每次传多少才能到最大的性能。……今天找了大神分析了下项目的代码,拆包压缩的工作太频繁,而且每个切片都做一次checksum,导致性能上不去,这个之前也想到了。而真正的问题我觉得还是出在了通信模式上。到底客户端怎么发数原创 2014-05-13 21:30:52 · 1200 阅读 · 0 评论 -
Mina源码阅读笔记(三)-Mina的连接IoAccpetor
其实在mina的源码中,IoService可以总结成五部分service责任、Processor线程处理、handler处理器、接收器和连接器,分别对应着IoService、IoProcessor、IoHandler、IoAcceptor和IoConnector。在代码的中有如下包跟IoService关系密切:1org.apache.mina.core.se原创 2014-05-13 22:10:53 · 1195 阅读 · 0 评论 -
使用异步 I/O 大大提高应用程序的性能
AIO 简介Linux 异步 I/O 是 Linux 内核中提供的一个相当新的增强。它是 2.6 版本内核的一个标准特性,但是我们在 2.4 版本内核的补丁中也可以找到它。AIO 背后的基本思想是允许进程发起很多 I/O 操作,而不用阻塞或等待任何操作完成。稍后或在接收到 I/O 操作完成的通知时,进程就可以检索 I/O 操作的结果。I/O 模型在深入介绍 AIO API原创 2014-05-13 21:33:32 · 1080 阅读 · 0 评论 -
Mina源码阅读笔记(七)—Mina的拦截器FilterChain
Filter我们很熟悉,在Mina中,filter chain的用法也类似于Servlet的filters,这种拦截器的设计思想能够狠轻松的帮助我们实现对资源的统一处理。我们先大致连接下mina中的filter能给我们带来什么。LoggingFilter logs all events and requests.ProtocolCodecFilter converts an incomin原创 2014-06-01 16:55:48 · 1416 阅读 · 0 评论