# Buffer

## 参考文档：

JAVA NIO中文版第二章缓冲区

百度链接: <https://pan.baidu.com/s/1ByltDNJqnoaKsUkEADMd6A> 密码: 4fan

## 概述

Java NIO中的Buffer用于和NIO通道进行交互。如你所知，数据是从通道读入缓冲区，从缓冲区写入到通道中的。

缓冲区本质上是一块可以写入数据，然后可以从中读取数据的内存。这块内存被包装成NIO Buffer对象，并提供了一组方法，用来方便的访问该块内存。

下面是NIO Buffer相关的话题列表：

1. [Buffer的基本用法](http://ifeve.com/buffers/#basicusage)
2. [Buffer的类型](http://ifeve.com/buffers/#buffertype)
3. [Buffer的分配](http://ifeve.com/buffers/#allocate)
4. [向Buffer中写数据](http://ifeve.com/buffers/#writetobuffer)
5. [flip()方法](http://ifeve.com/buffers/#flip)
6. [从Buffer中读取数据](http://ifeve.com/buffers/#read)
7. [clear()与compact()方法](http://ifeve.com/buffers/#clearandcompact)
8. [mark()与reset()方法](http://ifeve.com/buffers/#markandreset)
9. [equals()与compareTo()方法](http://ifeve.com/buffers/#equalsandcompareto)
