top

有關 Block-oriented I/O?

為什麼找 NIO 資料時,許多中文資料都會寫「以區塊(block)為讀寫單位」,後面再接上「區塊是硬碟存放資料的單位」呢?… XD

根據以下裏頭的內容:
http://www.ibm.com/developerwor ... j-nio/section2.html

A block-oriented I/O system deals with data in blocks. Each operation produces or consumes a block of data in one step.


應該是處理 a block of data ... 一塊資料啊!這個 block 並不是指檔案系統的 block 才對,翻遍 API 文件,也沒有說過什麼以磁碟區塊為單位這種說法,ReadableByteChannel、WritableByteChannel 的 read、write 方法的單位是 ByteBuffer,也就是 ByteBuffer 是一塊資料(a block of data)抽象代表,這個 block 不是指檔案系統的 block 才對 … XD


是我哪邊理解錯了嗎?

回復 1# caterpillar


    block貌似就是磁盤系統單位.一次性讀取一個快應該會比讀快中的比特要快吧.盡為個人理解啊!不知道對不對!
http://en.wikipedia.org/wiki/Block_%28data_storage%29

TOP

磁碟上 Block 的說明是沒錯,不過跟 NIO 文件中的 Block 是指不同的東西。

TOP