亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

處理IO時,如何定義緩沖區大???

處理IO時,如何定義緩沖區大小?

翻閱古今 2019-02-18 23:03:20
public static int KB = 1024; public static int MB = 1024 * KB; private static final int CAPACITY_SMALL = 4 * KB; private static final int CAPACITY_MEDIUM = 128 * KB; private static final int CAPACITY_LARGE = 1024 * KB; //package scope (default) - so they can be accessed from unit tests. byte[] smallMessageBuffer = new byte[1024 * 4 * KB]; //1024 x 4KB messages = 4MB. byte[] mediumMessageBuffer = new byte[128 * 128 * KB]; // 128 x 128KB messages = 16MB. byte[] largeMessageBuffer = new byte[16 * 1 * MB]; // 16 * 1MB messages = 16MB. 經??匆娋彺娴拇笮《际且晕坏拇笮《x,是因為習慣,還是因為什么原因?在實際項目中是否有什么策略根據自己需求來定義最優的值來處理IO?
查看完整描述

2 回答

?
九州編程

TA貢獻1785條經驗 獲得超4個贊

緩存大小什么單位純粹是個人喜好,最后都是化為以字節為單位。緩存越大,傳輸大數據量效率會更高,因為循環次數減少了;相應的如果每次實際傳輸的數據量大大小于緩存大小,比如只用到緩存大小的 1/10,那就有點浪費內存了,當然內存不敏感(比如多用個 1~2 MB 完全可以接受)的情況下無所謂。

查看完整回答
反對 回復 2019-03-01
?
ABOUTYOU

TA貢獻1812條經驗 獲得超5個贊

第一個問題:你給出的代碼都是以字節而不是位來定義緩存大小的;
第二個問題:通常操作系統都提供了帶緩存的IO操作(IO流接口),如果在實際使用中通過測試發現瓶頸在IO,再考慮實現自己的IO緩存,

查看完整回答
反對 回復 2019-03-01
  • 2 回答
  • 0 關注
  • 1392 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號