Я пишу клиентское приложение сервера, лучшая производительность - обязательная; Я использую RMI для связи между сервером и клиентом, сервер использует базу данных mySQL.Оптимизация ответа службы RMI
Теперь на стороне клиента У меня есть метод, называемый
getLinks()
, который вызывает тот же метод на сервере, проблема заключается в том, что этот метод возвращает около 700Mb данных, что занимает некоторое время, чтобы получить, и еще немного времени для анализа.
И тогда я устанавливаю некоторые значения для каждого Ссылка:
for (Link l : myService.getLinks()) l.setSelected(false);
Что я имею в виду сейчас только получение Link Идентификаторы первый (так как это было бы меньшим данных), а затем, используя асинхронный метод для получения каждой ссылки по идентификатору (для каждой ссылки нужен один служебный вызов); а затем установите значения Link.
Это лучший подход, есть ли другой способ получения данных RMI по одному (один вызов метода и более одного возврата)?
Есть ли что-то вроде (yield return) in C#?
, пожалуйста, просмотрите мой комментарий @EJP, ссылки хранятся в HashMap (ссылках), которые необходимы во всем приложении. – TheO