Performance - dicas para melhorar o código fonte

5 respostas
P

Bom dia pessoal!!!

Preciso de dicas para melhorar a performance da minha aplicação JAVA somente alterando o código fonte… (sem alterar configurações, etc.) Toda e qualquer idéia é bem vinda!

Att,

P.S.: minha aplicação é WEB.

5 Respostas

_

Cara, procura por perfomance tunning…

Procurei umas coisas assim um tempo atrás, achei bem legal…

olha essa pesquisa:

http://www.google.com/search?q=java%20performance%20tunning

achei interessante esse site aqui:

http://www.javaperformancetuning.com/tips/index.shtml

S

“Patty”:
Bom dia pessoal!!!

Preciso de dicas para melhorar a performance da minha aplicação JAVA somente alterando o código fonte… (sem alterar configurações, etc.) Toda e qualquer idéia é bem vinda!

Att,

P.S.: minha aplicação é WEB.

Sem conhecer o código nem o problema é impossível dar uma dica útil.

G

Você pode usar uma ferramenta de Profile para pesquisar possíveis gargalos na aplicação.

http://www.google.com.br/search?hl=pt-BR&q=profile+tools+%2B+java&btnG=Pesquisa+Google&meta=

P

Olá pessoal!

Sérgio: a alteração que preciso fazer é geral… Coisas como “uma instrução WHILE é mais leve que uma instrução FOR” me ajudam muito.

Muito agradecida pelos helps!

P.S.: não sei se há diferença de performance entre as instruções WHILE e FOR. Foi só um exemplo…

S

“Patty”:
Olá pessoal!

Sérgio: a alteração que preciso fazer é geral… Coisas como “uma instrução WHILE é mais leve que uma instrução FOR” me ajudam muito.

Muito agradecida pelos helps!

P.S.: não sei se há diferença de performance entre as instruções WHILE e FOR. Foi só um exemplo…

Caro, esse tipo de problemas é do tempo do C … Java é uma linguagem moderna com um intrperetador em tempo real … que a bom dizer é como te um cara que fica o tempo todo pensado " hey! aquele codigo ali está correndo muitas vezes… se eu mudar etes deta…lhe…zi…nho… pronto! agora está muito mais rápido"

Não tente driblar o intrepretador com truques do C pq vai sair o tiro pela culatra … o carinha vai pensar "aquele codigo é meio estranho, melhor não otimizá-lo para não dar problema… "

Otimizações seriam : Classes simples, métodos com poucas linhas. Nomes que realmente expressam o que está acontecendo. usar o session o menos possivel. Preferir objetos serializaveis aos que não na hora de guardar no session.

Usar o java collections framework em especial favorecendo as interfaces. Escolher a interface que faz o trabalho pelo menor preco. Por exemplo. Não usar List e ArrayList so pq acha que um for com i é mais rápido que um com Iterator. ( O intepretador irá mudar o codigo sozinho se ele souver que i é mais rápido) mas Usar ArrayList significa que vc precisa aceder aleatoriamente ao index i. Se vc apneas usar o List para iterações, LinkedList é melhor. Se vc não usar get(i) nunca, use Set, ou melhor ainda apenas Collection e depois teste parav er qual é melhor , se ArrayLsit, LinkedList LinkedHashSet , HashSet ou CopyOnWriteArraySet … acho que deu para entender.

Prefira usar Map em vez de iteração para retornar coisas.

Use primitivos sempre que possivel. Prefira Arrays a collections sempre que possivel. Use lazy load sempre que possivel.

Usar strings o menos possivel. Usar final em strings constantes.
Usar StringBuilder em vez do operador +

Usar final em parametros e sempre que variaiveis locais forem usadas como cache.

Usar final tb em classes e métodos. Isso tb aumenta a performance.

Implemente equals e hasCode correctamente , especialmente se o objecto é chave de um mapa.

Usar PreparedStatements em vez de statements

E para começar é isso … :slight_smile:

Criado 11 de janeiro de 2007
Ultima resposta 30 de jan. de 2007
Respostas 5
Participantes 4