我正在使用MapDB 0.9快照。我有一些包含数百万条记录String-> String的集合。
我的问题是,此类ConcurrentMap上的方法size()需要大量时间和大量内存(我什至有OutOfMemory错误)。

还有其他人遇到过这样的问题吗?
谢谢
再见

最佳答案

MapDB需要遍历集合中的所有条目以对其进行计数。您可以将计数存储在外部Atomic.Long中并分别进行检索,例如:

https://github.com/jankotek/MapDB/blob/master/src/test/java/examples/Map_Size_Counter.java

OOEM不应该发生,这可能是由于GC开销声明。

10-08 00:11