我在一个处理数十亿需要映射/排队的对象的项目中使用MapDB 。程序完成后我不需要任何持久性(MapDB 数据库都是临时的)。我希望程序尽可能快地运行,但我对 MapDB 的 commit() 函数(我认为它与性能相关)感到困惑,即使在阅读了docs之后也是如此。我的问题:
提交到底是做什么的?我的工作理解是它将对象从堆序列化到磁盘,从而释放堆空间。这是准确的吗?
对刚刚提交的对象的引用会发生什么?它们是否被 GC 清理了,或者它们是否以某种方式“引用”磁盘上的一个对象(MapDB 使它变得透明?)
最终,我想知道如何尽可能高效地使用 MapDB,但是如果不知道 commit() 的用途,我就无法做到这一点。对于您有效使用 MapDB 的任何其他建议,我将不胜感激。