要理解記憶體流的概念,那麼就需要對硬體有一點了解。我們知道今天的計算機主要有兩大部件:cpu和儲存器。cpu是**處理器,主要負責執行、控制、計算等任務,有點像影象館裡的管理員;而儲存器就像圖書館裡的書,所有知識就儲存在書裡面。如果要對知識進行處理,需要管理員找到相應的書籍,再經過閱讀,就可以拿到知識。因此圖書館的管理就會分類管理,並且新增上固定的標籤。整個圖書館就相當計算所有儲存器,但是圖書館裡會有一些常用圖書的書架,專門放置一些常用、常借的圖書,這樣可以提高書的使用效率,也方便人們去尋找。也有一些比較偏門的書籍放在比較遠一些,不容易找到的書架上。同理計算機裡也是這個樣子管理的,常用的資料放在儲存器的記憶體裡,不常用的放在硬碟或者固態硬碟裡,或者u盤上。因此,計算機裡就形成了記憶體速度快,硬碟速度慢的方式。在這裡不僅僅因為記憶體的硬體製造成本高,還因為記憶體變大之後,定址能力也下降了,功耗也上去了,所以記憶體還是不能無限大的。從這裡我們應該得到乙個這樣的概念:記憶體速度快於硬碟幾個數量級。
有了上面的概念之後,那麼作為軟體開發人員,顯然就需要合理地使
對C 流概念的理解
在計算機程式設計中,流就是乙個類的物件,很多檔案的輸入輸出操作都以類的成員函式的方式來提供。計算機中的流其實是一種資訊的轉換。它是一種有序流,因此相對於某一物件,通常我們把物件接收外界的資訊輸入 input 稱為輸入流,相應地從物件向外輸出 output 資訊為輸出流,合稱為輸入 輸出流 i o s...
對Java的I O流理解
這是很久前另乙個blog上的,現在不用了。轉過來吧,方便檢視.輸出流 流程示意圖 不同的情況 1.呼叫 write 方法,把資料寫入緩衝區,i 如果緩衝區被填滿,將自動執行2,3 步,把資料轉換為位元組,寫入到下乙個緩衝區 1 如果此緩衝區又被填滿,則自動執行第 4 步,把轉換好的資料儲存到緩衝陣列...
對C和C 語言記憶體的理解
在c和c 語言開發中,指標 記憶體一直是學習的重點。因為c語言作為一種偏底層的中低階語言,提供了大量的記憶體直接操作的方法,這一方面使程式的靈活度最大化,同時也為bug埋下很多隱患。因此,無論如何,我們都要對記憶體有乙個清晰的理解。32位作業系統支援4gb記憶體的連續訪問,但通常把記憶體分為兩個2g...