Java NIO学习笔记(二)Buffer

概述:

Buffer是NIO中的缓冲区,它的本质是一块可读写的数据,从中读取数据的内存,被包装成NIO的Buffer。它可以读/写数据

Buffer中的三个主要属性:

Capacity(容量):
Capacity很好理解,就是这个缓冲区所能最大写入的数据量是多少
Position(位置):
Position是一个指针,初始化的时候是0,当写入数据的时候,用来标记哪些数据可写,通过flip()方法来切换到读的时候,重置为0,最大值为capacity-1.
Limit(限制):
写模式的时候表示最多能写多少,和capacity位置一样,切换到读模式的时候表示的是最多能读多少,也就是上一次写的时候position的位置。

Buffer中常用的一些方法:

flip()切换读写模式。
clean() 清空整个Buffer,但并不是真正的将数据清空,而是将position和limit都重置为刚开始的位置。
compact()清空已读的数据,未读过的将放在Buffer的起始处,也就是将position放置在未读数据的末尾,和clean()一样,不是真的清除数据。
rewind()重读,将position置为0。
mark()标记一个特定的position。
reset()回到标记处。
allocate(****) 分配Buffer

Buffer的类型

ByteBuffer
ShortBuffer
IntBuffer
LongBuffer
FloatBuffer
DoubleBuffer
MappedBuffer

Buffer中读写数据的步骤:

1、写入数据到Buffer中
2、调用flip()方法切换读写模式
3、Buffer中读取数据
4、调用clear()或者compact()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值