Hadoop 之 环形缓冲区原理
完整源码分析:https://cloud.tencent.com/developer/article/1580681
精炼分析:https://www.iteye.com/blog/reb12345reb-2122006
环形缓冲区的特性:
-
当一个数据元素被用掉后,其余数据元素不需要移动其存储位置。相反,一个非圆形缓冲区(例如一个普通的队列)在用掉一个数据元素后,其余数据元素需要向前搬移。
-
换句话说,圆形缓冲区适合实现FIFO先进先出缓冲区,而非圆形缓冲区适合后进先出缓冲区。
-
-
适合于事先明确了缓冲区的最大容量的情形。扩展一个圆形缓冲区的容量,需要搬移其中的数据。因此一个缓冲区如果需要经常调整其容量,用链表实现更为合适。