Skip to content

ClubeDoJava/RoadMap2026

Repository files navigation

Roadmap Otimizado para Aprender Java em 2026

Este roadmap foi desenhado para ajudar você no aprendizado da linguagem Java e seu ecossistema de forma estruturada e eficiente.


Disclaimer: A IA acelera muito, mas nunca use como muleta. Sempre peça explicação, trade-offs, como debugar e teste tudo. Mantenha um arquivo decisoes.md em cada projeto explicando suas escolhas. Virtual Threads só onde tem I/O bloqueante. Features preview são só para estudo.


Índice


Apêndice — Algoritmos e Estruturas de Dados

📁 Apêndice - Algoritmos e Estruturas de Dados/

Complexidade algorítmica, Big-O aplicado às Collections Java, Pilha, Fila, PriorityQueue, BST, Grafos com BFS/DFS, e 15 exercícios com os padrões que aparecem em entrevistas e em código de produção real.

Quando estudar: após o módulo 3.2, em paralelo com os módulos 4 e 5. Não espere terminar o roadmap.

0. Primeiro passo obrigatório: Monte sua IA de programação

Antes de escrever qualquer linha de código, configure isso:

Instale o Cursor ou VS Code com Continue.dev (o módulo 2.1 discute os prós e contras de cada opção). Conecte com Claude 4.6+ Sonnet ou Opus.

Crie este prompt fixo e use em todo projeto:

"Você é um desenvolvedor Java sênior especializado em Java 25 LTS + Spring Boot 4. Sempre explique o motivo da escolha, mostre trade-offs, sugira testes e priorize código limpo e eficiente. Nunca use features preview em produção."

Regra de ouro: IA gera primeiro → você lê, entende, testa, melhora e escreve no decisoes.md. Com isso pronto, você já ganha umas 4 semanas de vantagem.


1. Fundamentos de Programação Essenciais

📁 01 - Aprenda os Fundamentos/

Sintaxe Básica

# Tópico Link
1.1 Criando Variáveis e nomeando elas 📄 readme
1.2 Tipos de Dados 📄 readme
1.3 Operadores 📄 readme
1.4 Estruturas de Controle 📄 readme
1.5 Métodos 📄 readme
1.6 Strings e Arrays 📄 readme
1.7 Entrada e Saída Padrão 📄 readme

Orientação a Objetos (OOP)

📄 POO/readme.md — Objetos, Classes, Herança, Interfaces, Classes Abstratas, Encapsulamento, Polimorfismo, Abstração.

Checklist:

  • Variáveis, tipos de dados e operadores
  • Estruturas de controle
  • Métodos: declaração, parâmetros, retorno
  • Strings e arrays básicos
  • Entrada e saída padrão (console)
  • Classes e objetos
  • Interfaces e classes abstratas
  • Encapsulamento, Herança, Polimorfismo, Abstração

Projeto prático: Gerenciador de tarefas em linha de comando (adicionar, listar, remover). Depois: sistema de biblioteca com Livro, Autor e Biblioteca usando Records.


2. Configurando seu Ambiente de Desenvolvimento Java

📁 02 - Configurando o Ambiente/

# Tópico Link
2.1 IDEs e Editores (Cursor, IntelliJ, VS Code) 📄 readme
2.2 Maven e Gradle 📄 readme
2.3 Git e Controle de Versão 📄 readme

Checklist:

  • Escolha e configure sua IDE (Cursor, IntelliJ IDEA ou VS Code — veja comparativo no módulo 2.1)
  • Maven: pom.xml, ciclo de vida, dependências
  • Gradle como alternativa
  • Git: comandos essenciais, GitHub Flow, Conventional Commits

Prática contínua: Crie um repositório no GitHub para cada projeto. Use GitHub Codespaces quando não quiser instalar nada.


3. Dominando a Linguagem Java

📁 03 - Dominando o Java/

# Tópico Link
3.1 Recursos Modernos do Java 21 e 25 📄 readme
3.2 Collections Framework e Streams 📄 readme
3.3 Tratamento de Exceções 📄 readme
3.4 Concorrência Básica 📄 readme
3.5 Boas Práticas (Clean Code, SOLID) 📄 readme

Checklist:

  • var, Switch Expressions, Text Blocks, Records, Pattern Matching, Sealed Classes
  • Scoped Values, Unnamed Variables, Virtual Threads
  • Collections: List, Set, Map, Queue
  • Functional Interfaces, Streams, Optional
  • Tratamento de exceções e exceções customizadas
  • Thread, ExecutorService, Virtual Threads
  • Clean Code, SOLID, Object Calisthenics

Projeto prático: Processador de eventos de domínio — use Sealed Classes + Pattern Matching para modelar os tipos de evento (sem framework). Depois: ranking de filmes com coleções e streams. Refatore projetos anteriores usando as features modernas.

Antes de avançar para o módulo 5 (Spring Boot): estude os padrões essenciais do módulo 7.1 (Strategy, Factory, Builder, Observer, Proxy, Chain of Responsibility). Construir services sem saber o que é Strategy resulta em if-else em cascata que você vai precisar refatorar. Oito padrões bem entendidos valem mais do que o catálogo GoF completo decorado.


4. Fundamentos Intermediários e Ferramentas

📁 04 - Intermediário/

# Tópico Link
4.1 Manipulação de Arquivos e IO 📄 readme
4.2 JSON com Jackson 📄 readme
4.3 Testes com JUnit 5, Mockito e AssertJ 📄 readme
4.4 Banco de Dados com JDBC e PostgreSQL 📄 readme

Checklist:

  • File, BufferedReader/Writer, NIO (Path, Files, WatchService)
  • Jackson: ObjectMapper, anotações, TypeReference
  • JUnit 5, Mockito, AssertJ, JaCoCo
  • JDBC, PreparedStatement, HikariCP, PostgreSQL via Docker

Projeto prático: Leia um CSV de produtos, processe com Streams e salve resultado. CRUD de usuários com JDBC.


5. Frameworks Essenciais e Bibliotecas do Ecossistema

📁 05 - Frameworks/

# Tópico Link
5.1 Spring Boot (Core, MVC, REST, Validação) 📄 readme
5.2 JPA e Hibernate + Spring Data + Flyway 📄 readme
5.3 Spring Security + JWT + OAuth2 📄 readme
5.4 Documentação com OpenAPI e Swagger 📄 readme
5.5 Testes de Integração + Testcontainers 📄 readme
5.6 Resiliência com Resilience4j (Circuit Breaker, Retry, Bulkhead) 📄 readme
5.7 Cache com Redis (@Cacheable, @CacheEvict, RedisTemplate) 📄 readme
5.8 Versionamento de APIs readme

Checklist:

  • Spring Core: IoC, DI, @Component, @Service, @Repository
  • Spring Boot: starters, application.yml, profiles, Virtual Threads
  • Spring MVC: REST, @Valid, ControllerAdvice, CORS
  • JPA: entidades, relacionamentos, N+1, lazy loading
  • Spring Data JPA: JpaRepository, query methods, paginação
  • Flyway: migrations versionadas
  • Spring Security + JWT + OAuth2
  • springdoc-openapi + Swagger UI
  • @SpringBootTest + Testcontainers

Projeto prático: API de e-commerce com autenticação JWT, controle de acesso por papel (admin/usuário), documentação OpenAPI, versionamento de pelo menos um endpoint, Circuit Breaker em chamada a API de CEP externa, cache de listagem de produtos, cobertura de integração com Testcontainers nos fluxos críticos. Inclua testes de contrato com Pact para garantir que o contrato do consumidor não quebra silenciosamente.


6. Deploy, DevOps e Boas Práticas de Entrega

📁 06 - Deploy e DevOps/

# Tópico Link
6.1 Docker e Kubernetes 📄 readme
6.2 CI/CD com GitHub Actions + Feature Flags 📄 readme
6.3 Deploy em Nuvem (Render, AWS, GCP) 📄 readme
6.4 Monitoramento e Observabilidade 📄 readme
6.5 Testes de Carga com k6 📄 readme

Checklist:

  • Dockerfile multi-stage + Docker Compose
  • Kubernetes: Pods, Services, Deployments, ConfigMaps, Secrets, liveness/readiness probes
  • GitHub Actions: pipeline build → test → deploy
  • Deploy no Render ou AWS
  • Spring Boot Actuator + Prometheus + Grafana + OpenTelemetry
  • Feature flags com OpenFeature (desacoplar deploy de release)
  • Testes de carga com k6: medir throughput, p95 e p99 de latência

Projeto prático: API rodando em produção com pipeline CI/CD completo, dashboard Grafana, alertas configurados, feature flags habilitando rollout gradual, e relatório de teste de carga com p95 documentado.


7. Aprendizado Contínuo e Evolução

📁 07 - Aprendizado Contínuo/

# Tópico Link
7.1 Padrões de Projeto (15 Design Patterns GoF) 📄 readme
7.2 Arquitetura (DDD, Hexagonal, Clean, Microsserviços) 📄 readme
7.3 Ferramentas de Produtividade (Lombok, MapStruct) 📄 readme
7.4 Soft Skills e Carreira 📄 readme

Checklist:

  • Design Patterns: Singleton, Factory, Builder, Strategy, Observer, etc.
  • DDD: Entities, Value Objects, Aggregates, Bounded Contexts
  • Arquitetura Hexagonal e Clean Architecture
  • Lombok e MapStruct
  • Code reviews, ADRs, contribuição open-source

Projeto prático (avançado): Refatore um módulo do projeto principal usando DDD + Arquitetura Hexagonal.


8. Tópicos Avançados e Especializações

📁 08 - Tópicos Avançados/

Nota: Kafka não é opcional para quem trabalha com microsserviços. Qualquer dev Java pleno em 2026 vai encontrar mensageria assíncrona em produção. Priorize 8.4 se o seu foco é arquitetura de sistemas.

# Tópico Link
8.1 Programação Reativa com Spring WebFlux 📄 readme
8.2 Concorrência Avançada (CompletableFuture, StructuredTaskScope) 📄 readme
8.3 Otimização de Performance e JVM (JMH, GC, GraalVM AOT) 📄 readme
8.4 Kafka (essencial), gRPC, GraphQL, Spring AI, Spark 📄 readme

Checklist:

  • Spring WebFlux: Mono, Flux, R2DBC (quando realmente precisar de streaming)
  • CompletableFuture + Virtual Threads + StructuredTaskScope
  • JVM: GC, VisualVM, JMH, GraalVM AOT
  • Kafka — Producer, Consumer, particionamento, idempotência, Dead Letter Topic
  • Spring AI — integração com LLMs, padrão RAG básico
  • gRPC, GraphQL (conforme o contexto do projeto)

9. Próximos Passos

📁 09 - Próximos Passos/

Mapa de bifurcações para depois do roadmap — não ensina, orienta. Cada trilha aponta para um caminho de especialização com contexto de quando faz sentido e por onde começar.

Trilha Foco Quando priorizar
1 — Cloud-Native Quarkus, Micronaut, GraalVM AOT Serverless, muitas instâncias, cold start importa
2 — Dados e Streaming Kafka Streams, Flink, Spark Pipelines em tempo real, volume de TBs
3 — Arquitetura Avançada CQRS, Event Sourcing, Saga Consistência em sistemas distribuídos
4 — IA em Java Spring AI avançado, LangChain4j Produtos com LLMs como parte da lógica
5 — Certificações OCP 21, AWS Developer, Spring Pro Validação formal, diferenciação em processos
6 — Open Source Spring, Resilience4j, OpenFeature Portfólio público, aprendizado por code review
7 — Staff/Principal Escrita técnica, influência, sistemas de escala 5+ anos, crescimento além do código

Recursos Recomendados

Documentação Oficial

YouTube / Blogs

  • Inside Java (canal oficial Oracle) — cobre cada JEP com profundidade, direto dos autores
  • Blog de Mark Reinhold e do Project Loom — fonte primária de Virtual Threads e Structured Concurrency

Livros

  • Effective Java — Joshua Bloch (obrigatório — leia no mínimo duas vezes)
  • Java Concurrency in Practice — Brian Goetz (obrigatório antes de Virtual Threads em produção)
  • Clean Code — Robert C. Martin
  • Designing Data-Intensive Applications — Martin Kleppmann (indispensável para sistemas distribuídos)
  • Release It! — Michael Nygard (origem dos padrões Circuit Breaker e Bulkhead)
  • Head First Java (para quem está no início)

Comunidades

  • GUJ
  • Discord Java Brasil
  • Stack Overflow
  • Reddit r/java

Prática


Dicas Finais para o Sucesso

Pratique todos os dias. Cada conceito vira projeto pequeno com testes e GitHub. Sempre use a IA primeiro, mas nunca aceite sem entender. Mantenha o GitHub atualizado com projetos bem explicados e o arquivo decisoes.md. Fique de olho nas novidades (Java 25+, Spring AI, GraalVM). Com IA você acompanha sem stress.

Estimativa de tempo honesta (estudando 1,5–2h/dia com consistência e construindo os projetos):

Módulos Perfil iniciante Perfil com base em outra linguagem
1–3 7–9 semanas 3–5 semanas
4–5 7–9 semanas 5–7 semanas
6–7 8–10 semanas 5–7 semanas
8 4–6 semanas 3–4 semanas
Total 6–8 meses 4–6 meses

O ponto de maior risco de burnout é o módulo 5. Se travar: construa o CRUD mais simples possível com Spring Boot e Postgres sem nenhum extra, coloque em produção, e só então adicione uma camada de cada vez.

O conhecimento se consolida na prática. Escolha um projeto, comece pelo módulo que faz mais sentido para onde você está hoje, e construa algo real.


About

RoadMap Java para 2026

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors