Обработка OutOfMemory Ошибка в Java - PullRequest
0 голосов
/ 27 июня 2018

В моем приложении есть глобальный HashMap, который содержит пользовательский объект в качестве ключа. Третья сторона будет называть это API, и они создадут новый пользовательский объект, и, если его нет в HashMap, они поместят его в карту. Как управлять OutOfMemoryError в этом случае, когда размер HashMap продолжает увеличиваться, а после развертывания утомительно увеличивать память JVM.

1 Ответ

0 голосов
/ 27 июня 2018

Если эта карта может увеличиваться бесконечно, вам нужно другое решение, чем просто HashMap в памяти. Даже если вы продолжаете увеличивать пределы JVM, фактическое аппаратное обеспечение, которое вы используете, конечно.

Вместо этого вы можете хранить эти ключи в базе данных (или, в этом случае, в файле) и запрашивать их. Чтобы повысить производительность, вы можете оставить в памяти N недавно использованных ключей в качестве кэша.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...