IO | NIO |
---|---|
基於阻塞I/O操作 | 基於非阻塞I/O操作 |
面向流的 | 面向緩存的 |
IO
阻塞IO等待數據寫入或返回前的讀取。Java IO的各種流是阻塞的。這意味着當線程調用write()或read()時,線程會被阻塞,直到有一些數據可用於讀取或數據被完全寫入。
面向流的
流是單向寫入數據
NIO
非阻塞IO不等待返回前讀取或寫入數據。 Java NIO非阻塞模式允許線程請求向通道寫入數據,但不等待它被完全寫入。允許線程繼續進行,並做其他事情。
面向緩衝
通道是雙向寫入數據