Java NIO Buffer的flip、reset、mark、rewind、clear操作区别联系

标记、位置、限制和容量值遵守以下不变式:

0 <= 标记 <= 位置 <= 限制 <= 容量

 

 

 位置限制容量标记
 positionlimitcapcitymark
mark///position
resetposition///
clear0capcity/丢弃
flip0position//
rewind0///

 

缓冲区的容量 是它所包含的元素的数量。缓冲区的容量不能为负并且不能更改。

缓冲区的限制 是第一个不应该读取或写入的元素的索引。缓冲区的限制不能为负,并且不能大于其容量。

缓冲区的位置 是下一个要读取或写入的元素的索引。缓冲区的位置不能为负,并且不能大于其限制。

 

 

(这部分是转载)

http://book.51cto.com/art/200902/109721.htm

表 5.4:在Buffer上创建不同透视的方法

方法

Capacity

新缓冲区的初始值

Position

Limit

Mark

ByteBuffer duplicate()

capacity

position

limit

mark

ByteBuffer slice()

remaining()

0

remaining()

未定义

ByteBuffer asReadOnlyBuffer()

capacity

position

limit

mark

CharBuffer asCharBuffer()

remaining()/2

0

remaining()/2

未定义

DoubleBuffer asDoubleBuffer()

remaining()/8

0

remaining()/8

未定义

FloatBuffer asFloatBuffer()

remaining()/4

0

remaining()/4

未定义

IntBuffer asIntBuffer()

remaining()/4

0

remaining()/4

未定义

LongBuffer asLongBuffer()

remaining()/8

0

remaining()/8

未定义

ShortBuffer asShortBuffer()

remaining()/2

0

remaining()/2

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值