我想将JDBM用于相当大的treeMap(如果不是几TB,则需要几百GB)。创建完成后,我将大量使用它来回答headMap查询。显然,答案headMap将会很大(平均占创建数据库的一半),但我只需要hashMap中的前几元组。我想JDBM不会尝试为headMap创建内存对象,对吗?有没有比我的任务更好的工具(除了Berkley DB)?

最佳答案

JDBM2和JDBM3不会在内存中为树子图创建。子图的开销很小。我在自己的应用程序中使用子地图,效果很好。唯一的问题是'size()',在子图上它会遍历所有子图记录以对其进行计数。

我建议使用JDBM3,因为它可能“足够稳定”,并且最近实现了“ ConcurrentNavigableMap”

08-17 18:57