Java Profissional: técnicas avançadas
Java Profissional: técnicas avançadas
Resumo:
O livro «Profissional Java: Técnicas Avançadas» é um guia prático para desenvolvedores que já dominam os fundamentos do Java e desejam avançar para o próximo nível. O autor, Alexey Sokolov, compartilha sua experiência com sistemas de alta carga, revelando os detalhes da Java Virtual Machine (JVM), concorrência e otimização de desempenho.
Sobre o que é este livro?
Esta não é mais uma introdução à sintaxe. Você mergulhará nas profundezas da plataforma Java:
- Modelo de Memória Java (JMM) — como threads, volatile, happens-before e barreiras de memória realmente funcionam.
- Concorrência e Concurrency — de Thread e ExecutorService a Fork/Join e CompletableFuture. Análise de race conditions, deadlocks e algoritmos lock-free.
- Garbage Collection — análise detalhada de GC (G1, ZGC, Shenandoah), configuração de coletores de lixo para baixa latência.
- Desempenho e Profiling — uso de JMH, JFR, VisualVM, Async Profiler. Identificação de gargalos, otimização de cache da CPU e gerenciamento de memória.
- Padrões Avançados — pools de objetos, Object Pooling, Flyweight, Reactor, Proactor, cadeias assíncronas, além do estilo funcional com lambdas e Stream API.
- Arquitetura de Sistemas de Alta Carga — cache (Caffeine, Hazelcast), trabalho com bancos de dados (pools de conexão, operações batch), criação de serviços de rede eficientes com Netty.
Para quem é este livro?
- Desenvolvedores Java com 2-3 anos de experiência que desejam aprofundar seus conhecimentos.
- Engenheiros se preparando para entrevistas técnicas em grandes empresas (design de sistemas, JVM).
- Tech leads e arquitetos que desejam tomar decisões fundamentadas sobre desempenho e escalabilidade.
O que você aprenderá?
- Como escrever código thread-safe sem bloqueios inesperados.
- Como configurar a JVM para uma aplicação específica (pausa mínima de GC, throughput máximo).
- Como fazer profiling de uma aplicação e encontrar vazamentos de memória.
- Como aplicar padrões modernos para programação assíncrona e reativa.
- Como construir sistemas que suportam milhares de requisições por segundo.
O livro contém muitos exemplos reais, snippets prontos e exercícios. Cada capítulo termina com tarefas práticas para fixar o conteúdo. Se você quer deixar de ser apenas um "usuário de Java" e se tornar um engenheiro que entende os bastidores da plataforma, este livro é para você.
Nota: o livro é focado em Java 17+ e versões modernas de frameworks (Spring Boot 3, Micronaut, Quarkus). Todos os exemplos de código estão disponíveis no repositório do GitHub.