私は ThreadSafeList を使用しており、プロセスから Web サーバーにデータをストリーミングし、クライアントに着信したときにデータをストリーミングして戻すために、それから大きなマイレージを得ています。メモリ内で、Spring Caching (ボンネットの下の ehcache) を使用して JVM にデータを保存していますが、すべて問題ありません。ヒープ制限に達し始めたときに問題が発生し、Spring Caching が使用中に ThreadSafeList をディスクにシリアル化し始め、ConcurrentModificationExceptions が発生しました。この問題を解決するために、シリアライゼーション インターフェイスのプライベートな writeObject および readObject メソッドを上書きできますか? これを行う方法がわかりません。または、ThreadSafeList を破棄する必要があるかどうかもわかりません。
このプログラムを開始したとき、私は BlockingDeque を使用していましたが、構造を入れたり取ったりするときにキャッシュ用のデータを思い出せなかったため、それだけでは十分ではありませんでした...順序付けが必要なため、ConcurrentMap を使用できません私のリストでは... ConcurrentNavigableMap を使用する必要がありますか? ThreadSafeList を使用して自分で作成したいのですが、カスタムのプライベート シリアル化関数を使用するのはもったいないのではないでしょうか?