Я работаю над приложением, которое считывает огромное количество данных из базы данных в Map<String,Map<String,Map<String,String>>>
, обрабатывает его и записывает обработанные отчеты в электронную таблицу с помощью собственного средства записи XML.Весь прогон может занять около 12 часов.
Я обнаружил, что получаю
Exception in thread "CursorController-Thread-0" java.lang.OutOfMemoryError: Java heap space
at java.lang.AbstractStringBuilder.<init>(AbstractStringBuilder.java:45)
at java.lang.StringBuilder.<init>(StringBuilder.java:68)
Когда я пытаюсь написать этот большой файл.По этой причине я думаю, что было бы лучше написать каждый Map<String,Map<String,String>>
(обратите внимание, что это слой глубже), поскольку он завершил обработку.
Мой вопрос, как я могу убедиться, что Map<String,Map<String,String>>
не сохраняетсяв памяти после того, как я это напишу, так как Карта >> все еще будет содержать его?