NIO简介

传统的解决方法
通常在Java中处理阻塞I/O要用到线程(大量的线程)。一般是实现一个线程池用来处理请求,如图二


图二
线程使得服务器可以处理多个连接,但是它们也同样引发了许多问题。每个线程拥有自己的栈空间并且占用一些CPU时间,耗费很大,而且很多时间是浪费在阻塞的I/O操作上,没有有效的利用CPU。

3.    nio 简介 
nio 是 java New IO 的简称,在 jdk1.4 里提供的新 api 。 Sun 官方标榜的特性如下: 

–     为所有的原始类型提供 (Buffer) 缓存支持。 
–     字符集编码解码解决方案。 
–     Channel :一个新的原始 I/O 抽象。 
–     支持锁和内存映射文件的文件访问接口。 
–     提供多路 (non-bloking) 非阻塞式的高伸缩性网络 I/O 。 
本文将围绕这几个特性进行学习和介绍。 

4.   Buffer&Chanel 

Channel 和 buffer 是 NIO 是两个最基本的数据类型抽象。 
Buffer: 

–        是一块连续的内存块。 
–        是 NIO 数据读或写的中转地。 
Channel: 
–        数据的源头或者数据的目的地 
–        用于向 buffer 提供数据或者读取 buffer 数据 ,buffer 对象的唯一接口。 

io用在网络通信一般是阻塞式通信,
nio则是非阻塞式的,性能比io提高了很多
NIO中还有一个知识点就是无阻塞的Socket编程
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值