【从入门到放弃-Java】并发编程-NIO-Buffer
前言
上篇【从入门到放弃-Java】并发编程-NIO-Channel中我们学习到channel是双向通道,数据通过channel在实体(文件、socket)和缓冲区(buffer)中可以双向传输。
本文我们就来学习下buffer
简介
buffer即缓冲区,实际上是一块内存,可以用来写入、读取数据。是一个线性的、大小有限的、顺序承载基础数据类型的内存块。
buffer有三个重要的属性:
- capacity:缓冲池大小,是不可变的。当buffer写满时,需要先清空才能继续写入。
- limit:是buffer中不可以被读或者写的第一个元素的位置,limit的大小永远不会超过capacity(在写模式下,limit等于capacity)
- position:是buffer中可以被读或者写的第一个元素的位置,position的大小永远不会超过limit
除了bo