缓冲流是如何工作的



在Java和c#中有几个类用于缓冲流:BufferedStream在c#, Buffered(Input|Output)StreamBuffered(Reader|Writer)

它们在构造函数中获取一些流并实现相同的接口。

问题是——它是如何工作的?

当我试图读取一个字节时会发生什么?它读取很多字节到内部缓冲区,然后返回给我一个字节又一个字节?写一个字节?写入到内部缓冲区,并在flush()上写入到内部流?

和关于读/写字节数组-它是低效的,这样做的缓冲流导致双复制字节进入和从内部数组?

它读取大量字节到内部缓冲区,然后返回给我字节后字节?

基本上,是的。从磁盘盘或TCP流请求数据需要时间,因此一次获得整个字节块比尝试从源单独检索它们更有效。

相关内容

  • 没有找到相关文章

最新更新