У меня есть приложение Java, которое работает медленнее на более мощной машине с той же ОС (Windows 7) и той же версией Java. Под медленной работой я подразумеваю всегда задержку во времени отклика, когда, например, вы пытаетесь переключать вкладки или нажимаете кнопку.

Почему это может быть так?

3 ответа3

2

Это может иметь проблему с архитектурой вашего Java-приложения. Это может быть с ненужной загрузкой потоков и экземпляров и большим количеством неправильно используемой логики (проверка условий и циклы). Дальнейшая проверка JVM имеет достаточно выделения памяти? В противном случае вы можете использовать устаревший API.

Это может помочь вам

Тесты Elasticsearch используют устаревший API, когда он очень медленный · Проблемы · GitHub

0

Проблема может быть вызвана несколькими факторами (графический драйвер, старый JRE и т.д.)

Если задержки отображаются на элементах пользовательского интерфейса и вы работаете в Windows, возможно, Java AWT испытывает трудности с использованием DirectDraw.

Попробуйте изменить аргументы командной строки, используемые для запуска вашего приложения, чтобы включить:

-Dsun.java2d.noddraw = верно

чтобы увидеть, поможет ли это. Ссылка

Обновить

Существует больше системных свойств JVM, которые могут изменять поведение пользовательского интерфейса. ссылка здесь.

0

Может случиться, что ваша система работает нормально, однако служба, набор служб, которые она вызывает во время обработки события, такого как нажатие кнопки, переключение вкладки и т.д., Могут занимать время.
Мы столкнулись с тем же сценарием, в котором изначально казалось, что приложение работает медленно из-за одновременного запуска нескольких потоков или слишком большого количества журналирования. Однако, проведя дополнительный анализ, мы обнаружили, что, когда задача обработчика процесса отправляла электронную почту синхронно, это занимало много времени, иногда даже не отправляя почту. Случилось так, что другие команды также наблюдали медлительность в отправке писем. Это происходило из-за некоторой проблемы на стороне SMTP-сервера. После устранения проблемы на SMTP-сервере медлительность исчезла.
Мы также оптимизировали работу, сделав процесс отправки электронной почты асинхронным.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .