对于缓冲区我一直有一些不清楚的地方,到底怎么考虑缓冲区比较好呢?忽然我想起一个生活中的例子!
在什么地方可使用到缓冲区,很是常见的一个生活经历就是将水倒进容器里面。
1. 将水倒进水缸里,使用杯子和桶哪一个快且节约?(因为水缸比较大因此浪费能够忽略不计)
2. 将水倒进水杯里,使用杯子和桶哪一个快且节约?(因为水杯比较小因此浪费必需要重视了)算法
水至关于数据
杯子和桶至关于缓冲区(杯子表明小缓冲区,桶表明大缓冲区)code
缓冲区的大小,这是个须要权衡的问题。
要考虑的不单单是数据源大小等各类状况。
* 好比:数据源每几秒停水一次而后继续放水。
* 好比:目标容器的大小和数据的多少。
* 好比:空间大小能够划分出的缓冲区大小。容器
因此配置缓冲区大小根据实际状况,具体的指导算法能够查阅其余资料。这里就不详细描述了。配置
以上言论为我的想法,若是有看法请留言交流。数据