Как освободить память из книги Apache POI после завершения задачи? - PullRequest
2 голосов
/ 14 ноября 2011


Я открыл большой файл Excel в качестве рабочей книги Apache POI (с помощью аргументов VM для установки максимального объема памяти)

После успешного открытия файла я прочитал необходимые данные и закончил свою работу.

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

Я проверил документацию API, нонет ничего похожего на workbook.close ().

Может кто-нибудь подсказать, как правильно освободить память, занятую книгой?

Ответы [ 3 ]

2 голосов
/ 14 ноября 2011

Полагаю, вам просто нужно выпустить объекты из области видимости и позволить ГХ выполнять свою работу. Вы также можете рассмотреть возможность использования потоковой инфраструктуры POI, поскольку она использует меньше памяти.

Потоковая рабочая книга

0 голосов
/ 09 мая 2017

Workbook.close() поддерживается по крайней мере в последней версии и делает именно эту ссылку для apache poi maven

0 голосов
/ 14 ноября 2011

Из javadoc кажется, что вам нужно всего лишь отпустить ручку к рабочей книге, это будет сбор мусора.

...