缓冲区的笔记
对于缓冲区我一直有一些不清楚的地方,到底怎么考虑缓冲区比较好呢?突然我想起一个生活中的例子!
在什么地方可以使用到缓冲区,非常常见的一个生活经历就是将水倒进容器里面。
1. 将水倒进水缸里,使用杯子和桶哪个快且节约?(由于水缸比较大所以浪费可以忽略不计)
2. 将水倒进水杯里,使用杯子和桶哪个快且节约?(由于水杯比较小所以浪费必须要重视了)
水相当于数据
杯子和桶相当于缓冲区(杯子代表小缓冲区,桶代表大缓冲区)
缓冲区的大小,这是个需要权衡的问题。
要考虑的不仅仅是数据源大小等各种情况。
* 比如:数据源每几秒停水一次然后继续放水。
* 比如:目标容器的大小和数据的多少。
* 比如:空间大小可以划分出的缓冲区大小。
所以配置缓冲区大小根据实际情况,具体的指导算法可以查阅其他资料。这里就不详细描述了。
以上言论为个人想法,如果有见解请留言交流。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。