Проблема такая:
Я получаю широту и долготу из точки и сохраняю ее в agent
классе.
Класс имеет идентификатор членов, широту и долготу и связанные функции.
Теперь при запуске java-приложения оно считывает все строки из локальной таблицы MySQL (имеющие значения cordinate) и сохраняет их в массиве этих agent
переменных. Затем он читает этот массив, вызывает необходимые функции и в конце рисует график.
Это прекрасно работает для таблицы из 8–10 тыс. Строк, но затем для другой таблицы с 200 000 строк начинает выдавать ошибку размера кучи в Java.
Я думаю об изменении кода для доступа к БД каждый раз, когда нужны координаты агента. Это должно уменьшить память, необходимую, верно? Однако существует много циклов, использующих Iterator
этого agent
ArrayList. Я до сих пор не могу понять, как с этим справиться.
Так что было бы лучшим вариантом - читать из таблицы каждый раз или продолжать как есть и увеличивать выделение памяти Java?
Спасибо за чтение.