Вообще говоря, цель метода compact()
состоит в том, чтобы уменьшить уплотнение использования ресурсов структурами данных хранилища. Раздел «Начало работы» руководства гласит:
MapDB
иногда требуется уплотнение. Запустите DB.compact()
или посмотрите параметры фонового сжатия.
Тем не менее:
Точное поведение сжатия будет зависеть от типа используемой вами MapDB. В некоторых случаях это (пока) не реализовано. (Вы не говорите, какой вы используете ...)
Вероятно, нецелесообразно (неэффективно) часто компактировать.
Я предполагаю, что сжатие MapDB, которая хранит данные в куче Java, не сразу освобождает память. Скорее, он сделает объекты недоступными, чтобы они могли быть возвращены Java GC.