5

Javaの使用。

計算などのために小さなオブジェクトを記録しますが、必要なのは最後のx千だけです。そこで、ガベージコレクターに最初にリリースしたいと思います。しかし、ArrayListsからの削除は高価なので...

以下は重要です(変更できません)

  • DBなし
  • オブジェクトは同じタイプです
  • 1 秒あたり最大 50,000 オブジェクト
  • パフォーマンスが重要
  • リスト全体をすばやく反復することが重要です
  • ランダムアクセスも重要

これは次のように変更できます。

  • 今使っているArrayList<MyObject>
  • limit: 100,000 オブジェクト (記録を停止しますが、続行する必要があります)

私の推測:

  • リンクされたリスト
  • RingBuffer
  • ???

非常に迅速に反復し、同時に古いオブジェクトも迅速にリリースするにはどうすればよいですか?

4

3 に答える 3

3

配列を使用し、RingBuffer を実装します。私はこれを行いましたが、常に機能することを確認するために多くの単体テストを使用しました。私のニーズに合った適切なリング バッファが見つかりませんでした。運がよかったのかもしれません。

于 2013-04-17T10:17:09.593 に答える