mina学习(一)

java.nio.* package包含以下内容:
1.Buffers :数据容器
2.Chartsets:可以设置bytes和Unicode的容器
3.Channels:代表连接实体的IO的操作能力
4.Selectors:提供可选择的,多路无阻塞的IO
5.Regexps:提供一些操作正则表达式的工具
在Mina框架中,主要关心Channels,Selectors和Buffers。

NIO Vs BIO
BIO(Blocking IO),依赖传统的Socket,常被用于阻塞模式:在Socket上读、写或者其他操作时,调用者会被执行的操作一直阻塞直到操作执行完成。
在某些情况下,对调用者来说,以下两点是至关重要的:1.在等待操作执行的过程中,可以做其他的事情;2.在操作执行完成之后,获得通知。
面对大量连接Socket时,NIO(Non-Blocking IO)提供了一种更好的方式来处理IO:不必针对每个连接创建一个特定的Thread,只需用非常少的Threads来完成同样的工作。

BIO与NIO最大的不同就是:在BIO模式下,发送一个请求,在得到响应之前必须一直等待。体现在服务端,这意味着一个Thread必须与任何到来的连接关联,好处就是你自己无须处理复杂的多路连接。在NIO模式下,你必须处理一个非阻塞系统的同步特性,这意味着当某些事件发生时,你的应用将要被触发。在NIO下,你无须调用和等待结果,你发送一个命令,当有结果时,会通知你。

Mina支持HTTP、XML、TCP、LDAP、DHCP、NTP、DNS、XMPP、SSH、FTP等协议。某种程度上,Mina不仅仅是一个NIO框架,更可以作为一个network layer来实现某些协议。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值