Я отправляю частную JRE вместе с программой jar на DVD. Это занимает около 3 минут, если я запускаю программу напрямую с DVD. Вероятно, для загрузки библиотек JRE в основную память требуется время, так как скорость оптических дисков низкая. Однако, когда я закрываю программу и перезапускаю ее, она запускается мгновенно, как если бы JRE была установлена на локальном компьютере (а это не так). Я думаю, что JRE остается в памяти даже после закрытия программы.
3 минуты - это большое время ожидания для пользователей, могу ли я как-то оптимизировать код (это единственное, что находится под моим контролем), чтобы он загружал только несколько библиотек для запуска и загружал другие необходимые по требованию. Теперь, вероятно, он пытается загрузить все с DVD, прежде чем показывать окно программы, как это предлагает
$java.exe -verbose -jar myProgram.jar
Есть ли другое решение для быстрого запуска программы даже в первый раз? В настоящее время единственным обходным решением является использование заставки Launch4J .bmp, но это очень статично.
Примечание. Я знаю, что установка JRE на локальный компьютер решит проблему, но эта программа не предназначена для технических пользователей, мой Launch4J не находит ее, если она установлена в пользовательском каталоге. Также мой DVD защищен от копирования, так что программа не может распространяться.