谁能告诉我mapdb.compact()方法的用途是什么?我正在寻找如何在调用commit()方法后从堆中清除对象
答案 0 :(得分:0)
一般而言,compact()
方法的目的是减少资源使用压缩对商店数据结构的压缩。手册的“入门”部分说:
MapDB
有时需要压缩。运行DB.compact()
或查看后台压缩选项。
但是:
压缩的精确行为将取决于您使用的MapDB的类型。在某些情况下,(尚未)实施。 (您没有说您使用的是哪种类型...)
频繁压缩可能是不明智的(效率低下)。
我的猜测是,压缩将数据存储在Java堆中的MapDB不会立即释放内存。相反,它将使对象不可访问,以便Java GC可以回收它们。