Поддерживайте работу JVM на iseries - PullRequest
0 голосов
/ 23 июня 2010

Мы вызываем Java-программу на компьютере iseries, и первый вызов этой программы происходит медленно. Следующие вызовы быстрые, но если мы подождем некоторое время, вызов снова будет медленным.

Как сохранить работоспособность JVM или есть другой способ решения этой проблемы?

Спасибо

Ответы [ 3 ]

2 голосов
/ 04 августа 2010

Возможно, вы захотите сделать ваше java-приложение сервером, который работает постоянно ... ваше нативное приложение может отправлять и получать запросы на сервер, используя tcp или очереди данных.

Таким образом, стоимость запуска сервера является единовременной, и никому из пользователей никогда не придется страдать от этого.

2 голосов
/ 23 июня 2010

Новейшие JVM (IBM Technology for Java) - самые быстрые из доступных. Типичная проблема заключается в том, что если собственные jar-файлы JVM кэшируются в памяти, то загрузка происходит достаточно быстро, а если нет, их необходимо загружать с диска по мере необходимости, что довольно медленно. (На самом деле это процесс ускорения в Windows).

Вы могли бы рассмотреть возможность создания небольшого сценария, который просто читает все файлы jar для JVM каждые X секунд, или для реализации «связи с демоном JVM через очереди данных», что является традиционным подходом для этого.

0 голосов
/ 21 октября 2013

Выделите больше памяти для подсистемы, в которой работает JVM.

Не вызывайте статический метод, поскольку по определению статический класс не должен оставаться в памяти.

Делать методы с * this.

Удачи

...