2

apache.commons.collections4 にアップグレードしたいのですが、一部のクラスが削除されCircularFifoBufferますUnboundedFifoBuffer

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

そのようなクラスの正しい代替品は何ですか?

いくつかの提案が見つかりました :

ヤン・ハデルカ

または、おそらくさらに別のオプションがあります。

バッファーを MinMaxPriorityQueue に置き換えます。これは、それ自体はスレッド セーフではありませんが、guava は幸いにも Queues.synchronizedQueue(Queue q) 呼び出しの形式でスレッド セーフのラッパーを提供します。他の場所ですでにグアバを使用しているため、コモンズの代わりにライブラリを使用しても問題ありません。2つのトーのパフォーマンス比較についてはわかりません。

セドリック・ライヘンバッハ

Queues#synchronizedQueue は確かに BufferUtils#synchronizedBuffer と同等のようです。つまり、含まれているキュー/バッファへのすべてのアクセスを同期します。ただし、CircularFifoBuffer の Guava でのより正確な一致は、おそらく EvictingQueue であるか、または同期ラッパーが任意のキューに対して機能するため、Java 独自の Apache の新しい CircularFifoQueue でさえあります。

メーリング リストリリース ノートで回答が見つかりませんでした

4

1 に答える 1