Curso Java Performance Tuning and Optimization

  • Development

Curso Java Performance Tuning and Optimization

24 horas
Visão Geral

O curso Java Performance Tuning and Optimization foi desenvolvido para capacitar desenvolvedores, arquitetos e administradores de plataformas Java a identificar, analisar e resolver problemas complexos de desempenho em aplicações corporativas. O treinamento aborda metodologias estruturadas de performance tuning, conceitos avançados da JVM, monitoramento, profiling, análise de consumo de recursos e otimização de código.

Os participantes aprenderão a construir um ambiente adequado para análise de performance, utilizar ferramentas de monitoramento e profiling, interpretar métricas da JVM e do sistema operacional, identificar gargalos de processamento, memória e I/O, além de aplicar técnicas avançadas de ajuste do Garbage Collector (GC).

Ao longo do curso são apresentados cenários inspirados em problemas reais encontrados em ambientes de produção, permitindo que os participantes desenvolvam uma abordagem sistemática para diagnóstico e otimização de aplicações Java de missão crítica.

Objetivo

Após realizar este curso Java Performance Tuning and Optimization, você será capaz de:

  • Compreender os fundamentos de performance tuning para aplicações Java.
  • Aplicar metodologias estruturadas de diagnóstico e otimização.
  • Monitorar recursos do sistema operacional e da JVM.
  • Utilizar ferramentas de profiling para identificação de gargalos.
  • Interpretar métricas de CPU, memória, threads e I/O.
  • Analisar heap dumps, thread dumps e garbage collection logs.
  • Selecionar e configurar estratégias adequadas de Garbage Collection.
  • Otimizar aplicações Java no nível da linguagem.
  • Melhorar a eficiência de processamento e consumo de memória.
  • Implementar boas práticas de testes de desempenho.
  • Diagnosticar problemas complexos em ambientes produtivos.
  • Otimizar aplicações executadas em ambientes físicos, virtualizados e cloud.
Publico Alvo
  • Desenvolvedores Java
  • Desenvolvedores Java Sênior
  • Arquitetos de Software
  • Arquitetos de Soluções
  • Engenheiros de Performance
  • DevOps Engineers
  • Site Reliability Engineers (SRE)
  • Administradores de Middleware
  • Administradores de Aplicações Java
  • Especialistas em Cloud Computing
  • Profissionais de Observabilidade e Monitoramento
Pre-Requisitos
  • Conhecimentos de programação Java
  • Familiaridade com orientação a objetos
  • Conhecimentos básicos de sistemas operacionais Linux ou Windows
  • Noções de arquitetura de aplicações corporativas
  • Conhecimento básico sobre JVM
Materiais
Inglês/Português + Exercícios + Lab Pratico
Conteúdo Programatico

Module 1: Introduction to Java Performance Tuning

  1. Introduction to Performance Engineering
  2. Performance Tuning Methodology
  3. Performance Metrics and KPIs
  4. Understanding Application Bottlenecks
  5. Establishing Performance Baselines
  6. Performance Testing Concepts
  7. Capacity Planning Fundamentals
  8. Performance Troubleshooting Workflow
  9. Best Practices for Performance Analysis

Module 2: JVM and Performance Overview

  1. JVM Architecture Overview
  2. Runtime Data Areas
  3. Class Loading Mechanism
  4. Memory Management Concepts
  5. Heap and Non-Heap Memory
  6. Execution Engine Internals
  7. Just-In-Time (JIT) Compilation
  8. JVM Performance Characteristics
  9. JVM Performance Metrics

Module 3: Monitoring Operating System Performance

  1. CPU Monitoring and Analysis
  2. Memory Utilization Analysis
  3. Disk and File System Performance
  4. Network Performance Monitoring
  5. Process and Thread Monitoring
  6. Linux Performance Monitoring Tools
  7. Windows Performance Monitoring Tools
  8. Correlating OS and JVM Metrics
  9. Operating System Bottleneck Analysis

Module 4: Monitoring the JVM

  1. JVM Monitoring Fundamentals
  2. JVM Memory Metrics
  3. Heap Utilization Analysis
  4. Thread Monitoring Techniques
  5. Class Loading Statistics
  6. JMX Architecture and Monitoring
  7. Java Mission Control (JMC)
  8. Java Flight Recorder (JFR)
  9. Building Monitoring Dashboards

Module 5: Performance Profiling

  1. Profiling Concepts and Methodologies
  2. CPU Profiling Techniques
  3. Memory Profiling Techniques
  4. Thread Analysis
  5. Allocation Profiling
  6. Heap Dump Analysis
  7. Thread Dump Analysis
  8. Profiling Tools Comparison
  9. Root Cause Analysis Techniques

Module 6: Garbage Collection Schemes

  1. Garbage Collection Fundamentals
  2. Memory Allocation Lifecycle
  3. Serial Garbage Collector
  4. Parallel Garbage Collector
  5. G1 Garbage Collector
  6. Z Garbage Collector (ZGC)
  7. Shenandoah Garbage Collector
  8. Generational Collection Concepts
  9. Selecting an Appropriate Collector

Module 7: Garbage Collection Tuning

  1. GC Performance Metrics
  2. Understanding GC Logs
  3. Heap Sizing Strategies
  4. Young Generation Tuning
  5. Old Generation Tuning
  6. G1GC Optimization Techniques
  7. Low-Latency GC Strategies
  8. GC Troubleshooting Techniques
  9. Real-World GC Tuning Scenarios

Module 8: Language Level Concerns and Garbage Collection

  1. Object Creation Patterns
  2. Memory-Efficient Coding Techniques
  3. Autoboxing and Performance Impacts
  4. String Handling Optimization
  5. Collection Framework Performance
  6. Resource Management Best Practices
  7. Lambda Expressions and Performance
  8. Streams API Performance Considerations
  9. Reducing Garbage Generation

Module 9: Performance Tuning at the Language Level

  1. Efficient Algorithm Design
  2. Data Structure Selection
  3. Concurrency and Parallel Processing
  4. Thread Pool Optimization
  5. Synchronization Performance Impacts
  6. Caching Strategies
  7. Database Access Optimization
  8. Performance-Oriented Coding Practices
  9. End-to-End Application Optimization

Laboratórios Práticos Sugeridos

  1. Configuração de ambiente para análise de performance.
  2. Monitoramento da JVM utilizando JMC e JFR.
  3. Análise de heap dumps e thread dumps.
  4. Identificação de memory leaks.
  5. Diagnóstico de problemas de CPU elevada.
  6. Profiling de aplicações Java corporativas.
  7. Comparação entre diferentes Garbage Collectors.
  8. Tuning de G1GC e ZGC.
  9. Otimização de coleções e estruturas de dados.
  10. Resolução de cenários reais de degradação de desempenho em produção.
TENHO INTERESSE

Cursos Relacionados

Curso Python Programação Advanced

32 horas

Curso SAP ABAP S4hana Developer Foundation

32 horas

Curso Full Stack and React Essentials

32 Horas

Curso Node.js for JavaScript Developers

24 horas

Curso Glassfish Performance Tuning

32h