Java NIO Channel和Buffer

本文深入解析Java NIO的Channel和Buffer机制,阐述了NIO如何通过更接近操作系统I/O方式的通道和缓冲器来提升效率。文章对比了FileChannel的position与Buffer的position,详细解释了两者在数据读取中的不同作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Java NIO Channel和Buffer

 @author ixenos

 

 

 

Channel和Buffer的关系


 

1、NIO速度的提高来自于所使用的结构更接近于OS执行I/O的方式:通道缓冲器;

2、通道是一个包含煤层(数据)的矿藏,而缓冲器则是派送到矿藏的卡车(容器);卡车满载而归,我们再从卡车上获得煤炭,也就是说我们没有跟通道直接交互,而只是跟缓冲器交互,并把缓冲器派送到通道;

3、区别FileChannel的position和Buffer的position,前者是数据所在的绝对位置(用来指示读取的元素),后者是容器中的相对位置(用来指示读取进度)

 

 

使用Buffer


 

 

 

 

 使用Channel


 

 

 

转载于:https://www.cnblogs.com/ixenos/p/5878798.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值