Які можливі причини запуску програми Java на певних машинах повільно?


0

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

Чому це може бути так?


1
Зазвичай для цього потрібен вихідний код, щоб ви могли орієнтувати програму в системі. Визначте відмінності між двома системами та поділіться тими, якщо це неможливо
Рамхаунд

Відповіді:


2

Це може мати проблеми з архітектурою додатків Java. Це може бути з зайвими нитками та екземплярами завантаження та безліччю неправильної логіки (перевірка умов і циклічність). Подальша перевірка, чи вистачить пам'яті пам'яті JVM? Інакше ви можете використовувати застарілий API.

Це може вам допомогти

Тести Elasticsearch використовують застарілий API, коли вони дуже повільні · Випуски · GitHub


0

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

Якщо затримки помітні на елементах інтерфейсу, і ви працюєте в Windows, можливо, у Java AWT важкі часи для використання DirectDraw.

Спробуйте змінити аргументи командного рядка, які використовуються для запуску програми, щоб вони включали:

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

щоб побачити, чи допомагає це. Довідково

Оновлення

Існує більше властивостей системи JVM, які можуть змінювати поведінку інтерфейсу користувача. посилання тут.


0

Може статися, що ваша система працює нормально, проте служба, набір послуг, які вона викликає, обробляючи подію, як натискання кнопки, перемикання вкладки тощо, може знадобитися час.
Ми стикалися з таким самим сценарієм, коли спочатку здавалося, що програма працює повільно через декілька потоків, що запускаються одночасно або занадто велика кількість журналів. Однак, зробивши докладніший аналіз, ми виявили, що коли завдання процесорного механізму надсилали електронний лист синхронно, тоді це забирало багато часу, іноді навіть не надсилаючи пошту. Бувало, що інші команди також спостерігали за повільністю в надсиланні листів. Це сталося через певну проблему на кінці сервера SMTP. Коли проблема була вирішена на SMTP-сервері, повільність зникла.
Ми додатково оптимізували, зробивши процес надсилання електронної пошти асинхронним.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.