所謂流,其實就是無限的意思。
雖然每個檔案都有大小,但是和流有關的類(包括你自己可能設計的流類),都不需要知道總共要計算多少資源,它們的寫法都是來多少當場就處理多少,假設要處理無限多個而不會出錯。你可以看下inputstream和outputstream介面揣摩下。
流之所以要這樣子設計是為了模擬稱為【管道(pipe line)】的計算模式。
如最高效的壓縮方式是
生成一小段byte1 (如讀一行資料庫,解析成json)
壓縮byte1到byte2 (deflateoutputstream)
把byte2寫入緩衝區(bufferedoutputstream)
檔案流根據實際情況寫入檔案 (fileoutputstream)
繼續步驟1直到步驟1無資料可生成,就結束整個pipe line,在處理過程中不需要太多記憶體,是一段一段處理的。
而低效的壓縮方式是
所有資料生成到記憶體中,生成很大的byte1
把byte1直接寫入檔案
呼叫命令列把檔案壓縮(這一步實際是重新讀取檔案,壓縮後寫入另乙個檔案)
showtooltip整理
敏捷到底是什麼?
文 ivar jacobson 在支援軟體工程 比如rational統一過程rup 與敏捷陣營 比如scrum或是xp 之間,人們一直存在著衝突。也不難理解,因為這兩種方法間都是在用著彼此並不相容的方式來描述的。其實大可不必,因為他們背後的觀點全然是相輔相成的。關鍵在於該如何用對兩者來說都公平的方式...
我們到底是什麼?
我們到底是什麼?我們是一種生物電流 生物電流有幾種狀態,喜怒哀樂等,可以根據外部環境進行自我切換 該種生物電流附屬在一種器官硬體上面 我們可以從器官硬體上感知一些資訊,產生新的資訊生物電流,新產生的生物電流符合原先的標準 我們可以把資訊電流儲存在器官硬體上,但具體如何儲存等資訊無法被我們感知 我們的...
SDN到底是什麼
sdn到底是什麼?雖然這個概念已經被炒到了,但還沒有人對其給出乙個明確的概念。盛科網路總監張衛峰撰寫了自己關注sdn以來,對其認識的四個階段,最後乙個階段又回到了sdn字面的意思軟體定義網路,每個階段作者的新觀點,也會給我們帶來一些啟發。以下為原文 我對sdn的認識可以分為四個階段,最後乙個階段是在...