详述Java中NIO实现原理

本文介绍了Java NIO中的关键组件Buffer和Channel。Buffer是一个抽象类,提供了如allocate、capacity、put、get等方法,用于高效地存储和读取数据。Channel接口代表数据传输通道,如FileChannel、DatagramChannel等,数据通过通道与Buffer交互。

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

目录

 

一、什么是NIO?

二、NIO中的组件——Buffer和Channel

(1)Buffer类

1.static ByteBuffer allocate(int capacity)

2.int capacity() :

3.ByteBuffer put(byte b):

4.byte[] array() :

5.int position():

6.Buffer flip() :

7.boolean hasRemaining():

8.byte get()

9.Buffer clear():

(2)Channel接口


一、什么是NIO?

NIO实际上就是new IO,是一种新的IO流的实现方式。

JDK1.4版本开始,JDK提供了新的IO操作API NIO提供多路(non-blocking) 非阻塞式的高伸缩性网络I/O,从而提高了效率,NIO主要有三大核心组件:ChannelBufferSelector,本篇主要详述前两个。

二、NIO中的组件——Buffer和Channel

(1)Buffer类

Buffer是一个抽象类Buffer类型变量对应的对象代表一块缓冲区ByteBufferCharBufferDoubleBufferFloatBufferIntBufferLongBufferShortBuffer类都是Buffer抽象类的子类,其中ByteBuffer最常用。

在NIO中,Buffer类就像是IO流中,缓冲流、搬运数组和转换流的结合体,因此IO流,NIO的效率更加高。

ByteBuffer常用方法:

1.static

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值