java.nio.Buffer的一些基础知识的备忘

capacity(): 表明缓冲区的容量大小, 一旦确定了大小, 将不能再改变;
limit(): 告诉您到目前为止已经往缓冲区填了多少字节,或者用#limit(int)来改变这个限制;
position(): 告诉您当前的位置,以执行下一个读/写操作;
mark(): 为了稍后用 reset() 进行重新设置而记住某个位置;
flip(): 交换限制指针和位置指针,然后将位置置为 0,并废弃已经做的mark标记。

为运河等地区用户提供了全套网页设计制作服务,及运河网站建设行业解决方案。主营业务为网站设计制作、成都网站设计、运河网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

缓冲区的基本操作是读#get()和写#put()。

缓冲区类型:

NIO具有7种特定的 Buffer 类型,每种类型对应着一个基本数据类型(除了 boolean)

 
 
 
  1. ByteBuffer //字节缓冲区 
  2. CharBuffer //字符缓冲区 
  3. DoubleBuffer //double 缓冲区 
  4. FloatBuffer //float 缓冲区 
  5. IntBuffer //int 缓冲区 
  6. LongBuffer //long 缓冲区 
  7. ShortBuffer //short 缓冲区 

缓冲区分为直接缓冲区和间接缓冲区,直接缓冲区的创建成本要高于间接缓冲区,但同时它也会提供更快的I/O访问速度。所以直接缓冲区适合那种长期存在的缓冲区,而间接缓冲区则适合于生命周期较短的。还有,要注意,只有ByteBuffer可以创建直接缓冲区。

缓冲区的几个内部状态的改变:

容量(capacity),缓冲区大小

限制(limit),***个不应被读取或写入的字节的索引,总是小于容量。

位置(position),下一个被读取或写入的字节的索引,总是小于限制。

0 <= position <= limit <= capacity

1. clear()方法:设置limit为capacity,position为0,并丢弃mark。

2. filp()方法:设置limit为当前position,然后设置position为0,并丢弃mark。

3. rewind()方法:保持limit不变,设置position为0,并丢弃mark。

原文链接:http://zddava.iteye.com/blog/315826

当前标题:java.nio.Buffer的一些基础知识的备忘
当前地址:http://www.hantingmc.com/qtweb/news30/300780.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联