Я использую ThreadSafeList, и я получаю большой пробег от него для потоковой передачи данных из процесса на веб-сервер, а затем потокового вывода данных, когда он приходит к клиенту. В памяти я сохраняю данные в JVM с помощью Spring Caching (ehcache под капотом), и все хорошо. Проблема началась, когда я начал нажимать на пределы кучи, а Spring Caching начал сериализацию моего ThreadSafeList на диск, пока я его использую, вызывая ConcurrentModificationExceptions. Могу ли я перезаписать частные методы writeObject и readObject для интерфейса Serialization для решения проблемы? Я не уверен, как это сделать, или если я должен отказаться от своего ThreadSafeList.Как сделать список потокобезопасным для сериализации?
Назад, когда я начал эту программу, я использовал BlockingDeque, но этого было недостаточно, потому что, когда я клал и принимал структуру, я не мог запомнить данные для кэширования ... Я не могу использовать ConcurrentMap потому что мне нужно заказать в моем списке ... я должен пойти на ConcurrentNavigableMap? Я чувствую, что катаюсь самостоятельно с помощью ThreadSafeList, и пользовательские функции сериализации могут быть ненужными?
Java Code Geeks ThreadSafeList
Весеннее кэширование - это не такая вещь, если это поможет вам отследить, откуда эта проблема. –