【译】Java NIO简明教程

本文深入探讨了Java NIO(New IO)的概念,一种在Java 1.4之后引入的替代传统IO API的方法。NIO通过Channel和Buffer进行数据操作,支持非阻塞IO,允许线程在等待IO操作的同时执行其他任务。Selector的引入使得一个线程可以监控多个Channel的事件,提高了效率。

java NIO(New IO,YouTube上普遍读作 /'nɪəʊ/  而不是N-I-O),是Java1.4之后提供的一套可选的IO API,可以替换标准的Java IO API和Java 网络IO API。NIO是一种完全不同于传统IO的工作方式。

Java NIO:Channel 和 Buffer

在传统的 IO API中,面向的对象是字节流(byteStream)或者字符流(characterStream)。在NIO中面向的是Channel和Buffer。数据总是从Buffer中写入到Channel中,或者从Channel读入到Buffer中。

Java NIO:Non-blocking IO

Java NIO 能够使用非阻塞的IO。例如,线程可以通过Channel把数据读入到Buffer中。然而Channel把数据读到Buffer之外,在等待数据读入完成期间,还能做一些别的事情。一旦数据读入到Buffer,线程就可以继续处理数据。写入操作也是同理。

Java NIO:Selector

Java NIO 中有一个 “Selector(选择器)” 的概念。selector是一个可以用来监视多个channel事件(例如,打开连接,有新数据写入等)的对象。因此,一个线程就可以监控多个channel中的数据状态。

 

下一篇:【译】Java NIO 概览

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值