java NIO(二) 缓冲区

java.nio.Buffer的方法摘要如下:



插句题外话,通过观察上图可以发现两点,1、很多方法采用了“级联调用”的类设计方法,2、没有实现诸如get、put的方法,因为这些方法在基类中无法确定,因此在子类中实现。

我们讲解一下:flip()方法——反转

filip()方法的实际执行逻辑是:buffer.limit(buffer.position()).position(0);即position回0,且limit标记为反转前的最后一个有效位置,而这个位置可能是get或put方法设定的。

我们再说下:rewind()方法——回退

rewind()方法个flip()类似,唯一的差别是不影响上界属性,即limit

我们接着再说一下:hasRemaining()方法

hasRemaining()方法告诉我们是否达到了缓冲区的上界,即limit

和hasRemaining()方法有关联的方法是remaining(),这个方法将返回当前位置即position到上界位置即limit的元素个数。

reset()方法在上一章节“java NIO(一) 缓冲区”已经介绍,请参考。


由此可以看出java.nio.Buffer的方法大体上都很直观,按照上一章节我们的说法,只要弄清楚:mark、position、limit、capacity的关系,这些方法不难掌握和记忆

下一个章节,我们会给出简单的实例来佐证这些方法的使用

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值