ByteBuffer 与 BufferInputStream

Posted

技术标签:

【中文标题】ByteBuffer 与 BufferInputStream【英文标题】:ByteBuffer vs BufferInputStream 【发布时间】:2015-02-21 05:40:23 【问题描述】:

NIO ByteBuffer 是否会始终提供比 IO BufferedStream 更快的读取性能? 如果是这样,原因是什么(抛开 NIO 的多线程功能不谈)。 我读到了前一种情况下最小化读取数据的复制,同时将数据从磁盘带到应用程序空间。 请帮助理解这一点 - 如果这是真的。

【问题讨论】:

他们做不同的事情。 【参考方案1】:

它们是为不同的目的而制作的。

ByteBuffer - 它只是一个字节缓冲区,有很多方便的数据操作方法。

BufferedStream - 它是 InputStream 的缓冲实现。它用于将数据从一个 InputStream 缓冲到另一个。

【讨论】:

以上是关于ByteBuffer 与 BufferInputStream的主要内容,如果未能解决你的问题,请参考以下文章

Java:将 String 与 ByteBuffer 相互转换以及相关问题

直接 java.nio.ByteBuffer 与 Java 数组性能测试

ByteBuffer 与 BufferInputStream

ByteBuffer 与 ChannelBuffer

使用 Bytebuffer 写出与简单写出的返回不同

Java ByteBuffer 放置与包装