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