Использование компактного метода Map Db и как его использовать для очистки памяти - PullRequest
0 голосов
/ 30 августа 2018

Может кто-нибудь сказать мне, как используется метод mapdb.compact (). Я ищу, как очистить объекты из кучи после вызова метода commit ()

1 Ответ

0 голосов
/ 30 августа 2018

Вообще говоря, цель метода compact() состоит в том, чтобы уменьшить уплотнение использования ресурсов структурами данных хранилища. Раздел «Начало работы» руководства гласит:

MapDB иногда требуется уплотнение. Запустите DB.compact() или посмотрите параметры фонового сжатия.

Тем не менее:

  • Точное поведение сжатия будет зависеть от типа используемой вами MapDB. В некоторых случаях это (пока) не реализовано. (Вы не говорите, какой вы используете ...)

  • Вероятно, нецелесообразно (неэффективно) часто компактировать.

  • Я предполагаю, что сжатие MapDB, которая хранит данные в куче Java, не сразу освобождает память. Скорее, он сделает объекты недоступными, чтобы они могли быть возвращены Java GC.

...