我需要 Java 中的字节缓冲区类以供单线程使用。我应该能够在缓冲区后面插入数据并在前面读取数据,摊销成本为 O(1)。缓冲区在满时应该调整大小,而不是抛出异常或其他东西。
我可以自己写一个,但如果标准 Java 包中尚不存在这个,我会感到非常惊讶,如果不存在,我希望它存在于一些经过充分测试的公共库中。
你会推荐什么?
不确定它是否是“最好的”,但你有一个很好的例子这里是循环字节缓冲区 http://ostermiller.org/utils/CircularBuffer.html.
Those Java 实用程序 - OstermillerUtils http://ostermiller.org/utils/课程正在下GPL许可证 http://ostermiller.org/utils/licenseFAQ.html.
该循环字节缓冲区实现了字节的循环缓冲区生产者/消费者模型。缓冲区的填充和清空是通过标准 Java 输入流和输出流完成的。
使用此类是使用 PipedInputStream 和 PipedOutputStream 的更简单的替代方案。
PipedInputStreams 和 PipedOutputStreams 不支持标记操作,不允许您控制它们使用的缓冲区大小,并且具有更复杂的 API,需要实例化两个类并将它们连接起来。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)