Java Collection在满磁盘时会分页到磁盘?

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

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

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

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

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

嗯,我所知道的唯一具有此类function的工具是流行系统: prevayler和space4j 。 虽然它们的界面起初看起来很奇怪,但它们使用起来非常简单并且提供了方便的function集。

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

你可以选择自己什么时候坚持它做磁盘或只是坚持每次更新。

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