Исполняемые Jar-файлы работают очень медленно

Я выполнил несколько проектов и упаковал их в файлы jar, но заметил, что мои файлы jar работают намного медленнее, чем в моей среде IDE.

Я использую Eclipse для компиляции и запуска своих программ. В Eclipse у меня все работает. Когда я упаковываю свой проект как работающий Jar и выполняю его двойным щелчком, все по-прежнему работает. Но когда у меня есть анимация, программа работает очень медленно. Вместо 30 кадров в секунду в Eclipse теперь я получаю около 2 кадров в секунду. Анимация очень тормозит.

Интересно то, что когда я запускаю тот же самый Jar из командной строки ( java -jar MyCode.jar ), отставание исчезает, и моя программа работает как обычно.

В настоящее время я не знаю, что вызывает эту проблему. Мой компьютер работает под управлением Windows Vista. Я использую последнюю версию JRE и JDK. Моя программа содержит анимацию, ничего особенного.

Спасибо

Решение. На моем компьютере было несколько разных версий Java, и использовалась неправильная версия.

Ответов (3)

Решение

Версия java.exe, поставляемая с Windows, очень устарела. Изменив привязку расширения .jar к более новой JVM, вы должны увидеть большие улучшения.

Возможно, вы связали двойной щелчок с какой-то «плохой» версией JVM.

Я бы использовал processxp из SysInternals, чтобы узнать, какой интерпретатор использует ваше приложение. Вероятно, стоит только изменить его, чтобы он использовал то же, что и в командной строке и в eclipse.

Проверьте это и посмотрите, используют ли оба одну и ту же JVM (в ProcessXP есть командная строка имен столбцов, сравните это значение)

Надеюсь, это поможет.

Вы также можете подумать, влияет ли работающее антивирусное программное обеспечение на производительность. Некоторое программное обеспечение рассматривает файлы .jar как архивы .zip и соответственно сканирует их. Их интеграция с оболочкой также может объяснить разницу между двойным щелчком мыши и командной строкой.