Java IO模型之NIO模型---缓存区(Buffer)

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> Java IO模型之NIO模型---缓存区(Buffer)

一、缓存区基本介绍

缓冲区(Buffer):缓冲区本质上可以读写的内存块,可以理解成一个容器对象含数组),该对象提供一组方法,可以轻松使用内存块,缓存区对象内置了一些机制,能够跟踪和记录缓冲区的状态变化情况。Channel提供了从文件、网络读取数据的渠道,但是读取或写入数据都需经由buffer。

二、Buffer类及其子类

  1. 在NIO中,Buffer是一个顶层父类,它是一个抽象类。
  2. Buffer类定义了所有缓冲区都具有的四个属性来提供关于其所包含的数据元素。
属性 描述
Capacity 容器,即可以容纳的最大数量,在缓冲区创建时设定并且不能修改。
Limit 表示缓冲区的当前终点,不能对缓冲区超过极线的位置进行读写操作。且极限时可以修改的。
Position 位置,下一个要读或者写的元素的索引,每次读写缓冲区数据时,都会改变Position值,为下次读写做准备。
Mark 标记,调用mark()来设置mark=position,再调用reset()可以让position恢复标记位置。
  1. Buffer及其子类中重要的方法

Java IO模型之NIO模型---缓存区(Buffer)

  1. ByteBuffer常用的方法

Java IO模型之NIO模型---缓存区(Buffer)