建设部注册师网站,网站建设方案书简单,福州建设银行官网招聘网站,wordpress主题 错误转载 对缓冲区的读写操作首先要知道缓冲区的下限、上限和当前位置。下面这些变量的值对Buffer类中的某些操作有着至关重要的作用#xff1a; limit#xff1a;所有对Buffer读写操作都会以limit变量的值作为上限。position#xff1a;代表对缓冲区进行读写时#xff0c;当前…转载 对缓冲区的读写操作首先要知道缓冲区的下限、上限和当前位置。下面这些变量的值对Buffer类中的某些操作有着至关重要的作用 limit所有对Buffer读写操作都会以limit变量的值作为上限。position代表对缓冲区进行读写时当前游标的位置。capacity代表缓冲区的最大容量一般新建一个缓冲区的时候limit的值和capacity的值默认是相等的。flip、rewind、clear这三个方法便是用来设置这些值的。 clear方法 public final Buffer clear()
{position 0; //重置当前读写位置limit capacity; mark -1; //取消标记return this;
} clear方法将缓冲区清空一般是在重新写缓冲区时调用。 flip方法 public final Buffer flip() {limit position;position 0;mark -1;return this;
} 反转缓冲区。首先将限制设置为当前位置然后将位置设置为 0。如果已定义了标记则丢弃该标记。 常与compact方法一起使用。通常情况下在准备从缓冲区中读取数据时调用flip方法。 rewind方法 public final Buffer rewind() {position 0;mark -1;return this;
} 以上三种方法均使用final修饰java.nio.Buffer的所有子类均使用同一种flip、clear和rewind机制。 转载于:https://www.cnblogs.com/gaorongyi/articles/5095457.html