對於緩衝區我一直有一些不清楚的地方,到底怎麼考慮緩衝區比較好呢?忽然我想起一個生活中的例子!
在什麼地方可使用到緩衝區,很是常見的一個生活經歷就是將水倒進容器裏面。
1. 將水倒進水缸裏,使用杯子和桶哪一個快且節約?(因爲水缸比較大因此浪費能夠忽略不計)
2. 將水倒進水杯裏,使用杯子和桶哪一個快且節約?(因爲水杯比較小因此浪費必需要重視了)算法
水至關於數據
杯子和桶至關於緩衝區(杯子表明小緩衝區,桶表明大緩衝區)code
緩衝區的大小,這是個須要權衡的問題。
要考慮的不單單是數據源大小等各類狀況。
* 好比:數據源每幾秒停水一次而後繼續放水。
* 好比:目標容器的大小和數據的多少。
* 好比:空間大小能夠劃分出的緩衝區大小。容器
因此配置緩衝區大小根據實際狀況,具體的指導算法能夠查閱其餘資料。這裏就不詳細描述了。配置
以上言論爲我的想法,若是有看法請留言交流。數據