[回到版面]
回應模式
名 稱
內 文
附加圖檔[] []
  • 可附加圖檔類型:GIF, JPG, JPEG, PNG, WEBM,瀏覽器才能正常附加圖檔
  • 附加圖檔最大上傳資料量為 3072 KB。
  • 當檔案超過寬 125 像素、高 125 像素時會自動縮小尺寸顯示
  • 目前附加圖檔使用量大小: 191059 KB / 500000 KB
  • 回覆時程式碼縮排會被trim消掉,請善用[code][/code]標色或貼到ideone等網站
  • LaTeX記法可以用「$$」或「\( \)」包起來,例如「$\sum_{k=1}^{k=n} k^2 = \frac{n(n+1)(n+2)}{6}$」
  • 投稿時請點擊畫像認證後,再按下 [送出] 按鈕提交。
  • 鬧板、攻擊性發言、煽動性發言請無視(回應者也無視),並使用del或在貓管理部向管理員回報。
  • 新介面尚處於測試階段,如果有任何問題可以向管理員或於程設交流版反映。

檔名:1553180326273.jpg-(110 KB, 640x386)
110 KB
無題無名19/03/21(四)22:58:46 ID:Pbnt9WP2No.13109del
讀入:source->FileInputStream->BufferedInputStream
寫出:PrintStream->BufferedOutputStream-
->FileOutputStream->Dest
讀入跟寫出一次最大能處理的資料量還不是看FileInputStream跟
FileOutputStream
多接了Buffered會變快只是因為減少了CPU的I/O時間?
但是除了CPU的I/O時間 其他傳輸的部分沒有變快沒錯吧?
也就是說資料從讀出或寫入到記憶體的這段流程,有沒有Buffered時間都是一樣的,但是加Buffered減少了CPU的I/O次數,所以速度
提升,不知道我這樣理解有沒有錯?

然後寫出的部分我有點疑問 最後寫到Dest還是用
FileOutputStream慢慢刻,那輸出是在資料流的哪個部份變快了?
無名19/03/21(四)23:54:10 ID:P/XWd7rANo.13111del
File I/O本身是有固定成本的
你讀1000Byte花在File Input上的時間不會是讀1B的1000倍
讀1次1000B比讀1000次1B還快上許多
Buffer讓你減少File I/O的次數,而這次數就是效能的瓶頸
無名19/03/22(五)00:02:23 ID:cilbFJ4QNo.13112del
>>13111
我原po
減少是減少CPU花在I/O的次數跟時間?
但是通道大小是不變的吧?不會因為接了Buffered結果末端通道從一次能處理1個byte變成2個bytes
無名19/03/22(五)00:05:22 ID:Oq4PUKxENo.13113del
檔名:1553184322096.png-(123 KB, 997x1420)
123 KB
這東西就好像你把A房間的東西搬到B房間

你需要開門 , 送貨 , 關門。
你當然可以一次開關們就把東西全部搬過去,
但可能你的運貨推車會炸掉,
因此你的推車容量上限就是你的Buffer,
當然安全一點就是推車送的東西少少的,多運幾次。
(但多運幾次同時代表會需要多開關幾次門)
無名19/03/22(五)00:12:29 ID:xcXJwWe6No.13114del
>>13112
Buffer不會讓你的通道變大
但不Buffer會讓你浪費一堆無謂的時間
開了Buffer只是把這些浪費的時間撿回來,不會超過本來的通道上限
無名19/03/24(日)11:29:07 ID:iiUU6u0cNo.13121del
檔名:1553398147043.jpg-(149 KB, 1116x1600)
149 KB
>13114
那不是目的
很少有人在他們的代碼中需要buffer,除非他們想要使用他們自己版本的編輯器或表格。 最簡單的編輯器是二度空間buffer linked list。 你輸入的字暫時存在buffer,你可以選擇不點擊送出按鈕,它會消失


【刪除文章】[]
刪除用密碼: