Lendas urbanas de performance em Java

4 respostas
cv1

Adorei esse artigo… vale a pena dar uma lida, especialmente com tantos profetas da otimização baratos passeando pelos fóruns por aí :wink:

http://www-106.ibm.com/developerworks/java/library/j-jtp04223.html?ca=dgr-lnxw01JavaUrbanLegends

4 Respostas

rigolin

Bom mesmo…

O que seriam dos forum se não existissem as lendas??

louds

Em alguns casos essas lendas eram válidas em versões antigas do java.

Locking e metodos final fazem uma boa diferença nas JVMs da Sun sem HotSpot, como hoje dificilmente você acha alguem usando uma, viraram lenda.

Bani

Na última edição da newsletter Java TechBlast, da Oracle, saíram algumas dicas sobre performance:

O ASSUNTO PERFORMANCE FOI UM DOS MAIS CITADOS NO JAVAONE 2003

Para se ter uma idéia havia apresentações desde a Performance de Web Services até a Otimização do Garbage Collector.
Para melhor compreender toda a parte de performance que foi abordada neste JavaOne separamos as melhores dicas que foram expostas durante as sessões assistidas.

Dica Número 1
Uma boa dica de leitura é o livro on-line Java Platform Performance Strategies and Tactics que pode ser encontrado no link abaixo:
http://java.sun.com/docs/books/performance/index.html

Dica Número 2
Outra dica importante é a tecnologia JVMSTAT que provê mecanismos de monitoração de performance da JVM. O único detalhe fica por conta que esta ferramenta é para a versão 1.4.1 da HotSpot JVM. As ferramentas que acompanham são as seguintes: jvmstat, jvmps, perfagent e o visualgc que permite a análise gráfica do Garbage Collector. Confira o download do JVMSTAT abaixo:
http://developers.sun.com/dev/coolstuff/jvmstat/

Dica número 3
Quando estamos realizando a monitaração de aplicações é importante também monitorar os processos do Sistema Operacinal, pois este ambiente também contribui na performance total de nossas aplicações. Confira abaixo:
Unix stat tools : vmstat, iostat, mpstat, netstat, kstat
Unix proc tools: pstack, pmap, prstat/top, truss/strace
Hardware: cpustat, busstat

Dica número 4
Existe um mito dizendo que o uso da cláusula final antecendendo a declaração de classes e métodos tornaria a aplicação mais performática. Pois neste JavaOne o Doutor Click em sua sessão apresentou um slide comparativo declarando que isso não é mais válido, ou seja, não use final aonde não for necessário.

Dica número 5
Outro dica interessante é em relação ao uso de Collections. Algumas collections são sincronizadas e outras não. Levando isso em consideração muitos programadores optam por utilizar Collections não sincronizadas pois, as mesmas, trazem maior performance. Na sessão do Doutor Click foi apresentado um comparativo esclarecendo que a diferença de perfomance entre as collections sincronizadas e as não sincronizadas são ínfimas, e que realmente vale a pena usar as collections sincronizadas, pois o custo de manutenção em relação a performance obtida é mais significativo. Collections não sincronizadas não são tão rápidas e trazem uma maior complexidade na manutenção e codificação.

Dica número 6
Não use hacks na codificação de suas classes, muito menos altere seus design patterns com hacks para aumentar a performance. Saiba que as modernas JVMs estão cada vez mais velozes e somente tornarão suas aplicações mais rápidas se as mesmas utilizarem as boas práticas de design e programação, ou seja, seu hack pode funcionar hoje, mas amanhã as JVMs estarão mais rápidas e seu hack não será tão rápido. As JVMs somente irão otimizar códigos que seguem as boas práticas de programação e design.

Dica número 7
Muitos problemas de performance ocorrem pela má concepção arquitetural e não pela má codificação. A questão é tão polêmica que em uma sessão foi deixado um Slide com a seguinte mensagem: “É preferível uma boa arquitetura com um fraco design do que uma arquitetura ruim com um bom design”.

Dica número 8
Para completar, se você estiver procurando por mais informações sobre Performance acesso o link abaixo:
http://java.sun.com/docs/performance/

[size=“9”]Por Adriano Marcandali - Gerente de produto 9iAS[/size]

Essas newsletters da Oracle costumam ter várias coisas úteis, então quem quiser assinar basta entrar lá no site deles.[/code]

Paulo_Silveira

e quem escreve a newsletter eh do GUJ :slight_smile:

Criado 5 de julho de 2003
Ultima resposta 6 de jul. de 2003
Respostas 4
Participantes 5