2012-05-17 44 views
4

并发收集我需要找到一个匹配正确的收集:用于存储对象

  • 编剧之一,许多读者(收集应是线程安全的)
  • 便宜迭代
  • 应保留顺序记录有已插入
  • 尺寸限制:
    • 固定尺寸 - 当每次插入新记录时达到阈值时,最旧的记录应为de leted
    • 或时间门槛 - 有点像“唯一的记录,并非olrder超过5个小时”应该保持

我敢肯定,这个问题是不是新的,可能有一些缓冲能够用于这些目的?

+0

Vector呢? – ant

+0

如果你要开发一个Web应用程序,给一个缓存解决方案一试[的Ehcache(http://ehcache.org/)。 –

+0

如此接近...'ConcurrentLinkedDeque'做所有这些,除了大小限制。 – trutheality

回答

3

考虑使用Guava's cache包。如果你看看CacheBuilder,它包含了你指定的大部分功能。我不知道有关订购保存(为什么你要吗?)

底层集合,如果你正在寻找一个完整的缓存实现或将支持集合(不能从你的问题/标题告诉)大概是ConcurrentHashMap