java.exe быстрее, чем javaw.exe

Я сделал несколько программ Java, используя hibernate + Mysql/Sqlite, и я заметил значительную разницу во времени выборки (из базы данных) при использовании обоих средств запуска.

Когда я запускаю свое приложение с помощью java.exe, конечно, отображается консоль, но приложение работает быстрее, чем при использовании javaw.exe.

Мое приложение основано на Windows, и я не хочу, чтобы java.exe загружал консоль при запуске приложения, поэтому я использовал javaw.exe, но ему не хватает времени на выборку.

Каково объяснение этой проблемы? И как я могу запустить свое приложение с помощью java.exe без запуска консоли или запустить его с помощью javaw.exe и иметь те же характеристики?

Заранее спасибо.


person Mssm    schedule 17.09.2018    source источник
comment
Определите быстрее, а вы пробовали прикрепить профайлер?   -  person fl0w    schedule 17.09.2018
comment
java.exe быстрее в том смысле, что, например, загружает весь мой объект Product и отображает его в TableView (javafx) намного быстрее, чем использование javaw.exe... хотя это одна и та же программа... я не знаю, что такое профайлер...   -  person Mssm    schedule 17.09.2018
comment
Я погуглил профилировщик для вас. wiki.ephesoft.com/how-to-use-jvisualvm   -  person fl0w    schedule 18.09.2018
comment
Пробовали JVisualVM один раз с запуском моего приложения с помощью javaw.exe, а другой раз с использованием java.exe и заметили эти ошибки: в java.exe работает нормально, но для javaw.exe 1- Мониторинг ЦП говорит Не поддерживается для этой JVM , 2- Процесс профилирования не работает ни для одного из процессоров, памяти, JDBC... 3- В дампе потока написано: Не удалось создать дамп потока... в любом случае похоже на javaw.exe поврежден .. любая подсказка?   -  person Mssm    schedule 18.09.2018
comment
проверьте эту тему: stackoverflow.com/questions/6105844/ - и проверьте, может ли ваша проблема быть полностью вызвана запуском 64-битной или 32-битной jvms .   -  person fl0w    schedule 18.09.2018
comment
Проблема решена и опубликован ответ, но до сих пор не знаю, почему в java.exe эти инструкции по ведению журнала не выполнялись, хотя это одна и та же программа oO   -  person Mssm    schedule 18.09.2018


Ответы (1)


Нашел проблему с помощью VisualVM (профилировщик). Обнаружил, что есть инструкции по регистрации, которые занимают много времени. Удалены все журналы, как показано ниже:

LogManager.getLogManager().getLogger("").setLevel(Level.OFF);

Благодаря fl0w.

person Mssm    schedule 18.09.2018