2010-06-23 3 views
0

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

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

Благодаря

+0

Как определить, это был «держать JVM и работает» проблема, а не использование пула памяти или другая проблема? – user2338816

ответ

2

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

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

+0

Спасибо за ответ. Не могли бы вы привести пример такого сценария или указать мне какую-нибудь документацию о том, как это сделать и как реализовать данные? – user271858

+0

Ваш лучший выбор - это запустить JVM в своей собственной подсистеме. –

2

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

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

0

Выделяют больше памяти в подсистеме JVM запущен.

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

Вызовите методы с помощью * this.

Good Luck

+0

'this' неявно. –

+0

Implicit - это нечто совершенно отличное от статического. Не вызывайте статические классы Java, потому что по определению они будут загружаться и выгружаться для каждого вызова. Это то же самое, что и вызов rpg, который возвращается с * lr. Неправильная практика, когда проблема связана с быстротой или в вашем случае, насколько быстро она загружается, т.е. скорость. – danny117

+0

В контексте IBM i «вызов программы» может быть несколько вещей в зависимости от контекста. Например, вызывая RUNJVA (это то, что я больше всего знаю) или через программу RPG (о которой, я думаю, вы говорите). Семантика, кажется, отличается. Может потребоваться разъяснение от ОП. (и я рад, что вы отредактировали «чувак» во что-то другое) –

Смежные вопросы