Map Db Compact方法的用法以及如何清除内存

时间:2018-08-30 10:25:08

标签: java mapdb

谁能告诉我mapdb.compact()方法的用途是什么?我正在寻找如何在调用commit()方法后从堆中清除对象

1 个答案:

答案 0 :(得分:0)

一般而言,compact()方法的目的是减少资源使用压缩对商店数据结构的压缩。手册的“入门”部分说:

  

MapDB有时需要压缩。运行DB.compact()或查看后台压缩选项。

但是:

  • 压缩的精确行为将取决于您使用的MapDB的类型。在某些情况下,(尚未)实施。 (您没有说您使用的是哪种类型...)

  • 频繁压缩可能是不明智的(效率低下)。

  • 我的猜测是,压缩将数据存储在Java堆中的MapDB不会立即释放内存。相反,它将使对象不可访问,以便Java GC可以回收它们。