2012-05-17 2 views
4

мне нужно найти подходящую коллекцию, которая соответствует:Параллельная коллекции для хранения объектов

  • Один писателя, много читателей (коллекция должна быть поточно)
  • Дешевых итераций
  • Если сохранить порядок, в котором запись имеет был вставлен
  • Ограничение на размер:
    • Фиксированный размер - при достижении порогового значения при каждом вводе новой записи самый старый должен быть leted
    • Или время порог - что-то вроде «только записи, которые не olrder чем через 5 часов» должны быть

Я уверен, что эта проблема не является чем-то новым и, вероятно, некоторые кэш может быть используется для этих целей?

+0

Что относительно Vector? – ant

+0

Если вы хотите разработать веб-приложение, попробуйте [ehcache] (http://ehcache.org/) для решения кэширования. –

+0

Так близко ... 'ConcurrentLinkedDeque' делает все это, кроме ограничения размера. – trutheality

ответ

3

Рассмотрите возможность использования Guava's cache. Если вы посмотрите на CacheBuilder, он включает в себя большинство функций, которые вы указываете. Я не знаю о заказе сохранения (почему вы этого хотите?)

Основная коллекция (не может определить из вашего вопроса/названия, если вы ищете полную реализацию кеша или коллекцию, которая будет ее поддерживать), вероятно, ConcurrentHashMap.

Смежные вопросы