我正在使用 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 开销断言造成的。
关于java - MapDB集合大小问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15383716/