Quais são as possíveis razões para um aplicativo Java ser executado lentamente em determinadas máquinas?

0

Eu tenho um aplicativo Java que parece rodar mais devagar em uma máquina mais poderosa executando o mesmo sistema operacional (Windows 7) e a mesma versão do Java. Ao ficar lento, quero dizer que sempre há um atraso no tempo de resposta, quando, por exemplo, você está tentando mudar de guia ou pressiona um botão.

Por que isso pode acontecer?

    
por Jeanno 30.01.2016 / 18:08

3 respostas

2

Isso pode ter um problema na arquitetura do seu aplicativo java. Pode ser com encadeamentos desnecessários e instâncias de carregamento e muita lógica mal utilizada (condições verificando & loop;). Além disso, verifique se a JVM possui alocação de memória suficiente? Caso contrário, você pode usar a API obsoleta.

Isso pode ajudar você

Os testes do Elasticsearch usam a API reprovada quando estão muito lentos · Issues · GitHub

    
por 31.01.2016 / 17:31
0

O problema pode ser causado por vários fatores (driver de gráficos, antigo JRE, etc ...)

Se os atrasos forem visíveis nos elementos da interface do usuário e você estiver executando no Windows, talvez seja possível que o Java AWT tenha dificuldades para usar o DirectDraw.

Tente modificar os argumentos da linha de comando usados para executar seu aplicativo para incluir:

-Dsun.java2d.noddraw=true

para ver se isso ajuda. Referência

Atualizar

Existem mais propriedades do sistema JVM que podem modificar o comportamento da interface do usuário. referência aqui

    
por 30.01.2016 / 18:41
0

Pode acontecer de o seu sistema estar a funcionar bem, no entanto, um serviço, um conjunto de serviços que está a chamar enquanto processa um evento como o clique do botão, o comutador de separadores, etc., pode demorar algum tempo.
Enfrentamos o mesmo tipo de cenário, no qual, inicialmente, parecia que o aplicativo estava lento devido a vários segmentos acionados ao mesmo tempo ou muito logging. No entanto, ao fazer mais análises, descobrimos que, quando uma tarefa do mecanismo de processo enviava um e-mail de forma síncrona, demorava muito tempo, às vezes até mesmo não enviando o e-mail. Aconteceu que outras equipes também estavam observando lentidão no envio de e-mails. Isso estava ocorrendo devido a algum problema no final do servidor SMTP. Com o problema sendo resolvido no servidor SMTP, a lentidão desapareceu.
Nós otimizamos ainda mais, tornando o processo de envio de e-mail assíncrono.

    
por 16.02.2017 / 06:45

Tags