Java Collection在满磁盘时写入磁盘?

时间:2010-05-05 14:01:07

标签: java collections

一位同事提到他听说过一个轻量级的集合,当它的内容太满时会自动翻页到磁盘 - 但是他记不住这个名字。我想它看起来像这样:

PagingCollection<Serializable> pagingCollection = new PagingArrayList<>();
pagingCollection.setMaxSizeInMemory(500);
for (int x = 0; x < 1000; x++) { pagingcollection.add("x="+x); }

然后将x = 0推到x = 500到磁盘。关键是能够迭代它而不将整个东西加载到内存中。

这适用于内存容量较小的胖客户端。

有没有人知道它(或类似的东西)?

2 个答案:

答案 0 :(得分:7)

嗯,我所知道的唯一具有此类功能的工具是普遍性系统:prevaylerspace4j。虽然它们的界面起初看起来很奇怪,但它们使用起来非常简单并且提供了方便的功能集。

答案 1 :(得分:7)

MapDB(mapdb.org)是一个支持基于磁盘的集合的库:集合,队列和映射。

您可以选择自己何时将其保留为磁盘或仅保留每次更新。

它还支持缓存,因此所有项目都将存储在磁盘上,但有些项目将缓存在内存中。