Вместо этого поместите его в область приложения (если оно не зависит от пользователя) или замените его поиском / фильтрацией на основе базы данных (если это зависит от пользователя).
Я предполагаю, что данные уже хранятся в базе данных.Помещать его в область применения не имеет особого смысла.У вас всегда будут проблемы с памятью, когда код Java перемещает / копирует весь набор данных хранилища данных (например, СУБД) в памяти Java, а затем выполняет работу прямо в памяти Java с использованием кода Java.Это действительно ухудшится, когда вы даже сохраните / продублируете его в области видимости веб-приложения.
Наиболее эффективный подход к памяти - позволить базе данных выполнить задачу, для которой она придумана.Язык SQL предлагает вам в каждом предложении ORDER BY
выполнить сортировку, предложении WHERE
выполнить фильтрацию и (* в зависимости от поставщика БД) LIMIT/OFFSET
предложения / функции / функции для возврата только подмножества записей на основе firstrow и rowcount или lastrow .Таким образом, вы получите только набор данных в памяти Java, который фактически должен отображаться.
Примеры необходимых запросов SQL можно найти в этом ответе Iразмещено раньше здесь.Надеюсь, это поможет.