【发布时间】:2020-06-11 13:46:17
【问题描述】:
我想升级到 apache.commons.collections4,但某些类如 CircularFifoBuffer 和 UnboundedFifoBuffer 已删除
import org.apache.commons.collections.buffer.CircularFifoBuffer;
这些类的正确替代品是什么?
找到几个suggestions:
有简·哈德卡
或者也许还有另一种选择:
用 MinMaxPriorityQueue 替换缓冲区,它本身也不是线程安全的,但幸运的是,guava 以 Queues.synchronizedQueue(Queue q) 调用的形式提供了线程安全的包装器。因为我们已经在其他地方使用了番石榴,所以应该可以使用库而不是 commons。不确定两者的性能比较。
塞德里克·赖兴巴赫
似乎 Queues#synchronizedQueue 确实等同于 BufferUtils#synchronizedBuffer,即同步对包含的队列/缓冲区的每次访问。但是,在 Guava 中更精确地匹配 CircularFifoBuffer 可能是 EvictingQueue,或者,因为同步包装器适用于任何队列,甚至 Java 自己的 Apache 的新 CircularFifoQueue。
我在mailing list 或release notes 没有找到答案
【问题讨论】:
标签: java fifo apache-commons-collection