FifoBuffer-apache common collections 4 replaces

问题描述 投票:0回答:1

我想升级到apache.commons.collections4,但是删除了CircularFifoBufferUnboundedFifoBuffer等某些类

import org.apache.commons.collections.buffer.CircularFifoBuffer;

这些类的正确替代品是什么?

找到几个suggestions

hadJan Haderka

或者也许还有另一种选择:

用MinMaxPriorityQueue替换缓冲区本身也不是线程安全的,但是guava幸运地以Queues.synchronizedQueue(Queue q)调用的形式提供了线程安全包装器。由于我们已经在其他地方使用了番石榴,因此可以使用库而不是通用库。不确定两种方法的性能比较。

Cedric Reichenbach

似乎Queues#synchronizedQueue确实等同于BufferUtils#synchronizedBuffer,即同步对包含的队列/缓冲区的每次访问。但是,在Guava中,CircularFifoBuffer的更精确匹配可能是EvictingQueue,或者,因为同步包装程序可用于任何Queue,甚至Java自己的Apache的新的CircularFifoQueue。

我在mailing listrelease notes中找不到答案

java fifo apache-commons-collection
1个回答
0
投票

在任务COLLECTIONS-432 Replace Buffer interface with java.util.Queue中找到答案

BoundedFifoBuffer替换为java.util.concurrent.ArrayBlockingQueue

CircularFifoBuffer替换为 java.util.concurrent.ArrayBlockingQueue。

PredicatedBuffer传输到PredivatedBuffer

[PriorityBuffer替换为java.util.PriorityQueue

SynchronizedBuffer替换为 java.util.concurrent.SynchronizedQueue

BlockingBuffer替换为java.util.concurrent.BlockingQueue (实用的java.util.concurrent.ArrayBlockingQueue或 java.util.concurrent.SynchronizedQueue)

BoundedBuffer替换为java.util.concurrent.ArrayBlockingQueue

TransformedBuffer转移到TransformedQueue

UnboundedFifoBuffer替换为 java.util.concurrent.ArrayBlockingQueue

© www.soinside.com 2019 - 2024. All rights reserved.