Я работаю над базовым приложением на основе Struts, которое испытывает большие скачки в памяти. У нас есть инструмент мониторинга, который замечает один запрос на пользователя, добавляющий 3 МБ в память кучи JVM. Есть ли какие-либо советы, которые помогут быстрее собрать мусор, освободить память или повысить производительность?
Приложение является базовым приложением Struts, но в отчете JSP много строк, поэтому может быть создано много объектов. Но это не то, чего вы раньше не видели.
- Выполнить набор запросов к базе данных.
- Создать сериализованный объектный объект POJO. Это представляет собой строку.
- Добавить строку в список массивов.
- Установить список массива для объекта формы при вызове действия.
- Логика JSP будет перебирать список из ActionForm, и данные отображаются пользователю.
Примечания:
1. Форма находится в области видимости сеанса и, возможно, в массиве данных (возможно, это проблема).
2. Боб POJO содержит около 20 полей, включая данные String
или BigDecimal
.
Отчет может содержать от 300 до 1200 строк. Так что, по крайней мере, создано много объектов.