BIO 和 NIO 的区别
BIO 好比是通道传输,一来一回
NIO 好比是管道传输,一堆来一堆回。
BIO 模型
_________ _________
| |-----------------------| |
| |------------输入--------| |
| | | |
| |------------输出--------| |
| |-----------------------| |
|-------| |-------|
输入和输出都需要建立一条管道。
也就是说,数据的传输是单向的,出去从输出流通道走,回来从输入流通道走。
面向流,通道传输的是流
NIO 模型
_______ _________
| |-----------------------| |
| | | |
| | 输入-输出 | |
| | | |
| |-----------------------| |
|-------| |-------|
NIO 的通道没有传输数据的能力,通道的建立,相当于铺了铁路,而数据的传输需要火车。
火车指的就是缓冲区。
火车出发前会装一批人,而不会只装一个人。
火车来回都只用一条通道。
面向缓冲区,将数据装入缓冲区,由缓冲区进行传输。
网友评论