缓冲区的笔记

    对于缓冲区我一直有一些不清楚的地方,到底怎么考虑缓冲区比较好呢?突然我想起一个生活中的例子!

在什么地方可以使用到缓冲区,非常常见的一个生活经历就是将水倒进容器里面。
1. 将水倒进水缸里,使用杯子和桶哪个快且节约?(由于水缸比较大所以浪费可以忽略不计)
2. 将水倒进水杯里,使用杯子和桶哪个快且节约?(由于水杯比较小所以浪费必须要重视了)

水相当于数据
杯子和桶相当于缓冲区(杯子代表小缓冲区,桶代表大缓冲区)

缓冲区的大小,这是个需要权衡的问题。
要考虑的不仅仅是数据源大小等各种情况。
* 比如:数据源每几秒停水一次然后继续放水。
* 比如:目标容器的大小和数据的多少。
* 比如:空间大小可以划分出的缓冲区大小。

所以配置缓冲区大小根据实际情况,具体的指导算法可以查阅其他资料。这里就不详细描述了。

以上言论为个人想法,如果有见解请留言交流。


iceworldvip
57 声望1 粉丝

热爱技术


引用和评论

0 条评论