天天看點

源碼剖析之java.io.BufferedInputStream

java 提供了讀寫緩存api。

byte:java.io.BufferedInputStream 、 java.io.BufferedOutputStream

char: java.io.BufferedReader、java.io.BufferedWriter

好處:

1、可以避免一次性寫入大量的資料,這樣可能瞬間造成記憶體占用太多,導緻系統不穩定。

2、可以對寫入較少的資料進行緩沖,避免寫入輸入承載終端太過頻繁。

缺點:幾乎沒有。

是以幾乎任何時候我們都有必要使用緩存的流進行包裝。

記得剛學習java io時,聽到緩存,感覺很神秘。其實java提供的緩存實作的資料結構就是數組,java 緩存 api都是建立在byte[] 和 char[]基礎之上的,也即是:先write(read) 資料到 byte[](char[])裡,然後一旦緩存資料滿,再一次性讀取(寫入)。

源碼分析: