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.
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.
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:
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.
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=
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…
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 … 