《Java开发实战经典》教师讲解032001 缓冲区与Buffer.pptVIP

《Java开发实战经典》教师讲解032001 缓冲区与Buffer.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
JAVA 应用开发详解 第20章:Java新IO —— 缓冲区与Buffer 本章目标 了解缓冲区的作用 了解缓冲区的操作原理 缓冲区(Buffer) 在基本IO操作中所有的操作都是直接以流的形式完成的,而在NIO中所有的操作都要使用到缓冲区处理,所有的读写操作都是通过缓冲区完成的。缓冲区(Buffer)是一个线性的、有序的数据集,只能容纳某种特定数据类型。 Buffer的基本操作 各种数据类型的缓冲区类 各数据类型缓冲区类提供的常用方法 范例:演示缓冲区的操作流程,观察position、limit和capacity 深入缓冲区操作 在Buffer中存在一系列的状态变量,这些状态变量随着写入或读取都有可能会被改变,在缓冲区可以使用三个值表示缓冲区的状态: position:表示下一个缓冲区读取或写入的操作指针,每向缓冲区中写入数据的时候此指针就会改变,指针永远放到写入的最后一个元素之后。即:如果写入了4个位置的数据,则position会指向第5个位置。 limit:表示还有多少数据需要存储或读取,position=limit。 capacity:表示缓冲区的最大容量,limit=capacity。此值在分配缓冲区时被设置,一般不会更改。 缓冲区操作细节(1) 缓冲区操作细节(2) 创建子缓冲区 子缓冲区操作图(1) A、 开辟主缓冲区 B、 为主缓冲区设置内容 子缓冲区操作图(2) C、 修改position和limit以划分子缓冲区 D、 修改子缓冲区中的内容,因为是共享数据,所以主缓冲区的内容一起改变 创建只读缓冲区 创建直接缓冲区 下一章内容 E-MAIL:mldnqa@163.com ? MLDN 软件教学研发部 MLDN 软件教学研发部 判断在当前位置和限制之间是否有内容 普通 public final boolean hasRemaining() 9 恢复缓冲区中的标记位置 普通 public final Buffer reset() 8 重设缓冲区,在写入之前调用,改变缓冲的指针 普通 public final Buffer flip() 7 清空缓冲区 普通 public final Buffer clear() 6 设置缓冲区的操作位置 普通 public final Buffer position(int newPosition) 5 返回缓冲区的操作位置 普通 public final int position() 4 设置缓冲区的限制 普通 public final Buffer limit(int newLimit) 3 返回此缓冲区的限制 普通 public final int limit() 2 返回此缓冲区的容量 普通 public final int capacity() 1 描述 类型 方法 No. 存储双精度浮点型的Buffer java.nio.DoubleBuffer 7 存储单精度浮点型的Buffer java.nio.FloatBuffer 6 存储长整型的Buffer java.nio.LongBuffer 5 存储整型的Buffer java.nio.IntBuffer 4 存储短整型的Buffer java.nio.ShortBuffer 3 存储字符的Buffer java.nio.CharBuffer 2 存储字节的Buffer java.nio.ByteBuffer 1 描述 缓冲区类 No. 将缓冲区设置为只读缓冲区 普通 public 缓冲区类型 asReadOnlyBuffer() 8 创建子缓冲区,里面的一部分与原缓冲区共享数据 普通 public 缓冲区类型 slice() 7 写入一组指定的基本数据类型数据 普通 public final 缓冲区类型 put(数据类型[] src,int offset,int length) 6 写入一组指定的基本数据类型数据 普通 public final 缓冲区类型 put(数据类型[] src) 5 写入指定基本数据类型的数据 普通 public 缓冲区类型 put(基本数据类型 x) 4 取得指定位置的内容 普通 public 基本数据类型 get(int index) 3 取得当前位置的内容 普通 public 基本数据类型 get() 2 分配缓冲区空间 普通 public static 缓冲区类型 allocate(int capacity) 1 描述 类型 方法 No. package org.lxh.demo20.bufferdemo; import java.nio.IntBuffer; public class IntBufferDemo01 {

文档评论(0)

1243595614 + 关注
实名认证
文档贡献者

文档有任何问题,请私信留言,会第一时间解决。

版权声明书
用户编号:7043023136000000

1亿VIP精品文档

相关文档