使用Java存储许多对象

Hir*_*ral 4 java memory collections map

我正在联系社区,了解是否有办法在Java地图结构中存储许多对象(> 500K).我知道,如果我使用Java Collections API并且我正在寻找其他解决方案(在分布式缓存之外),我的应用程序将在某些时候超出其内存占用.我的目的是存储Map <String,List <String >>的效果.

要求:

  • 结构将是不可变的(一次加载到地图中).主要是读访问权限.
  • 访问地图需要相当快,但不要寻找低延迟检索,更关心在内存中存储和保留这些对象.

有没有人知道我可以使用的这样一个库可以实现这一点,或者有没有人遇到过他们需要在Java中加载内存中的许多对象的解决方案?我非常有兴趣听取您的反馈意见.

谢谢.

ska*_*man 10

EhCache对此非常完美.从最基本的角度来看,它提供了一个键值映射,可选的溢出到磁盘,以及JVM重启的可选持久性.它会将元素保留在最常用的内存中.