Desempenho de Aplicações Java: Otimização e Perfilamento
Desempenho de Aplicações Java: Otimização e Perfilamento
Resumo:
O livro "Java Performance" é um guia prático para desenvolvedores que desejam aprender a identificar e eliminar gargalos em seus programas Java. O autor analisa detalhadamente o funcionamento interno da Máquina Virtual Java (JVM), os mecanismos de coleta de lixo (garbage collection), o gerenciamento de memória e a programação concorrente (multithreading), bem como as ferramentas modernas de profiling.
O livro é composto por três partes:
- Fundamentos de Performance — compreensão do funcionamento do compilador JIT, bytecode e configuração da JVM.
- Profiling e Monitoramento — uso de VisualVM, JProfiler, Java Flight Recorder e outras ferramentas para análise de CPU, memória e threads.
- Otimização Prática — otimização de algoritmos, trabalho com coleções, redução da carga no GC, programação assíncrona e benchmarking com JMH.
Para quem é este livro:
- Desenvolvedores Java nível Junior+ e Middle que desejam avançar para o próximo nível.
- Team Leads e arquitetos responsáveis pela performance das aplicações.
- Profissionais que se preparam para entrevistas técnicas (os tópicos JVM e GC são frequentes nas entrevistas).
O que você aprenderá:
- Como funcionam os garbage collectors (G1, ZGC, Shenandoah) e quando escolher cada um.
- Como configurar corretamente os parâmetros da JVM (-Xms, -Xmx, -XX:NewRatio e outros).
- Como encontrar vazamentos de memória e problemas com threads.
- Como escrever benchmarks sem cometer erros típicos (JVM warmup, dead code elimination).
- Como o multithreading afeta a performance e como evitar contention.
O livro é escrito em linguagem clara e direta, com muitos exemplos de código e casos reais. É adequado tanto para estudo autodidata quanto para uso como referência na resolução de problemas específicos de performance.
Recomendado para leitores que já conhecem os fundamentos do Java e desejam aprofundar o entendimento sobre como fazer o código rodar mais rápido.
Recommendations
Java para data science: Análise de dados e aprendizado de máquina em Java
Programação Funcional em Swift para iOS e macOS
Entrevista de JavaScript (Node.js): 200 perguntas e respostas
Concorrência em Swift: Desenvolvimento de Aplicações Paralelas para iOS e macOS
Código Limpo: Criação, Análise e Refatoração. Biblioteca do Profissional
C# 10 e .NET 6: desenvolvimento multiplataforma moderno