Загрузка 26 МБ текстовых данных из базы данных потребляет кучу JVM 258 МБ

Приложение (Spring, JPA Hibernate, Sybase 12, Webapp) при локальном запуске при запуске потребляет 40 МБ кучи 256 МБ на основе VisualVM. Когда я запускаю поиск, который возвращает более 70 000 строк (текстовые данные без блобов), график пространства кучи занимает до 256 МБ и выбрасывает из памяти.I have resolved this by using setMaxResults(limit). Однако, когда я запросил те же данные, скопировал их в текстовый файл и сохранил в файловой системе, я вижу, что размер текста составляет всего 26 МБ.

Таким образом, фактически, 216 МБ (из 256-40) потребляется при загрузке 26 МБ текста из баз данных,who is consuming the 190MB к тому времени нехватка памяти происходит? Возможно, это будут фреймворки, но я не вижу, как он может потреблять больше, чем загружаемые данные ...

** еще раз обратите внимание, что я решил эту проблему с помощью setMaxResults (limit), мой вопрос не в том, что делать, а в том, почему, в образовательных целях.

Ответы на вопрос(2)

Ваш ответ на вопрос