Berserker的沉默

导航

NIO概述

NIO API从Java1.4开始引用起就被广泛应用所使用。NIO API自带了IO非阻塞操作。

 

java.nio.*包的结构:

·  Buffers  作为数据容器

·  Chartsets 将容器中的数据转换成bytes和Unicode字符

·  Channels 用以在I/O操作中建立连接

·  Selectors 提供可选可复用的非阻塞IO

·  Regexps  提供一些工具来操作正则表达式

 

NIO vs BIO

我们必须清楚这两个API的不同之处。BIO,阻塞IO,应用于阻塞模式下的普通socket通信中。当你在socket中读取,写入或者执行其他操作,执行的方法将会对IO对象进行加锁,直到该操作结束后再释放。

在某些情况下,在执行某些操作的过程中,希望该操作在结束后可以通知执行对象,这样执行对象就可以在等待该操作执行完之前执行其他操作。

因此NIO提供了很好的方式在多连接socket通信中操作IO。我们不再需要特地为每一个连接创建每一条xiah线程,只需要创建几条线程就足够了、

 

posted on 2015-05-13 13:11  Berserker的沉默  阅读(171)  评论(0编辑  收藏  举报