O documento discute como otimizar o desempenho da Java Virtual Machine (JVM). Ele explica como a JVM funciona, os diferentes tipos de coletores de lixo e estratégias para monitorar e parametrizar a JVM para melhorar a performance, reduzir a latência e o uso de memória. A otimização da JVM envolve tanto ajustes de software quanto melhorias no hardware.
10. Estratégias de Garbage Collector
Tipos de Garbage Collector:
• Serial Garbage Collector
• Parallel Garbage Collector (Default até o Java 8)
• CMS Garbage Collector
• G1 Garbage Collector (Default a partir do Java 9)
Garbage Collector Experimentais (Java 11):
• Epsilon
• Shenandoah
• Z
Em uma escala de 1 a 5, qual é a melhor opção :
https://bit.ly/2uL2mf5
11. O que é Otimização de JVM?
É mais do que
parametrização, é uma
combinação de Hardware
e Software
13. O que Buscar ?
• Considerando seus ambientes, você pode ganhar mais capacitando seu
hardware do que perder um bom tempo tentando otimizar a sua JVM.
Custo
• No longo prazo, é mais eficiente otimizar para estabilidade, do que
performance, ainda mais que as duas coisas sempre se sobrepõe.
Aonde você quer chegar?
• O principal passo é a monitoração, você não consegue fazer uma otimização
na JVM, nem mesmo debugar se você não tiver monitorando a JVM.
Monitore seu ambiente
• Quase sempre os problemas com a garbage collection (GC) vão apontar para
um vazamento de memória.
Memory Leaks
20. Quais suas metas de Performance
• Representa quanto o sistema pode aguentar.
Throughput
• O tempo de resposta da suas aplicações
influenciam o todo.
Latência
• A quantidade de Memória requerida para o GC
rodar tranquilamente.
Footprint