Um guia prático e progressivo para dominar Java moderno e backend.
- Algoritmos e resolução de problemas
- Pseudocódigo
- Linguagens de programação
- Variáveis e constantes
- Tipos de dados (primitivos e não primitivos)
- Atribuição de valores
- Comentários
- Operadores aritméticos
- Operadores relacionais e de igualdade
- Operadores lógicos
- Incremento e decremento
- Precedência de operadores
- Leitura de dados
- Escrita de dados
- Concatenação
- Condicionais (
if,else,switch) - Estruturas de repetição (
for,while,do-while)
- Arrays
- Listas
- Mapas
- Pilhas e filas (conceitual)
- Classes e objetos
- Métodos e atributos
- Instanciação
- Encapsulamento
- Herança
- Polimorfismo
- Abstração
- Interfaces
- Classes abstratas
- Sobrecarga vs sobrescrita
- Modificadores de acesso (
public,private,protected)
- Estrutura de um projeto Java
- JVM, JDK e JRE
- Processo de compilação
- Construtores
thisesuper- Classe
Object
- Autoboxing / Unboxing
- Upcasting / Downcasting
- List, Set, Map
ArrayList,HashMap,HashSet- Comparators e Comparable
- Métodos principais
- Imutabilidade
- Checked vs Unchecked
- Try / Catch / Finally
- Boas práticas
- Lambda expressions
- Method reference
- Streams API
- Optional
- Records
- Text Blocks
- Pattern Matching (
instanceof,switch) - Sealed Classes
- Virtual Threads (Project Loom)
- Java Time API
- Java IO / NIO
- Concurrency API (Threads, Executors)
- Garbage Collector
- JIT Compiler
- Memory model
- OpenJDK
- Temurin (Adoptium)
- Azul Zulu
- GraalVM
- Maven
- Gradle
- Bazel
- SDKMAN!
- Maven vs Gradle: quando usar cada um
- Estrutura de
pom.xmlebuild.gradle
- Conceito de versionamento
- Repositórios e branches
git clone
git branch
git checkout
git status
git add
git commit
git push
git pull
- Pull Requests
- Code Review
- Merge
- Resolução de conflitos
- CREATE DATABASE
- CREATE TABLE
- INSERT
- SELECT
- UPDATE
- DELETE
- TRUNCATE
- Chaves primárias e estrangeiras
- INNER JOIN
- LEFT JOIN
- RIGHT JOIN
- FULL OUTER JOIN
- SELF JOIN
- O que é API
- Cliente vs servidor
- REST
- Métodos: GET, POST, PUT, DELETE, PATCH
- Status codes:
- 1xx - Informacional
- 2xx - Sucesso
- 3xx - Redirecionamento
- 4xx - Erro do cliente
- 5xx - Erro do servidor
- Recursos
- Idempotência
- Versionamento
- Spring Initializr
- IoC (Inversão de Controle)
- Injeção de dependência
- Beans
- Controllers (
@RestController) - Rotas (
@RequestMapping) - Teste com Postman / Insomnia
- Consumo de APIs externas
- Quarkus (foco em cloud-native e GraalVM)
- Micronaut (AOT, startup rápido)
- Helidon (compatível com MicroProfile e Jakarta EE)
- JPA
- Hibernate
- DAO Pattern
CrudRepositoryJpaRepository- H2 Database (banco em memória)
- Criar
- Listar
- Atualizar
- Deletar
- jOOQ (SQL type-safe via DSL)
- MyBatis (mapeamento SQL explícito)
- Spring WebFlux
- Project Reactor
- RxJava
- Virtual Threads como alternativa ao modelo reativo
- Swagger / OpenAPI
- Spring GraphQL
- Feign Client (REST declarativo)
- gRPC Java (RPC de alta performance)
- Spring Integration
- Autenticação vs autorização
- Basic Auth
- JWT
- OAuth 2 + OIDC
- Login com JWT
- Refresh Token
- Password encoder (BCrypt)
- Keycloak
- Testes unitários (JUnit 5, Mockito)
- Assertions fluentes com AssertJ
- Testes de integração com Testcontainers
- Testes de contrato
- SOLID
- Clean Code
- Apache Kafka
- RabbitMQ
- Spring Integration
- ActiveMQ Artemis
- Micrometer (métricas)
- Prometheus (coleta de métricas)
- OpenTelemetry (rastreamento distribuído)
- Grafana (visualização)
- Logging estruturado
- Docker
- Kubernetes
- Jib (build de imagens Docker sem Dockerfile)
- AWS, GCP, Azure
- Native Image (GraalVM)
- OWASP Top 10
- Resiliência (retry, circuit breaker)
- Monitoramento e alertas
- IntelliJ IDEA
- Eclipse
- SonarQube
- Flyway
- Liquibase
- System Design
- Performance tuning
- Escalabilidade
- Engenharia de plataforma
- IA aplicada ao desenvolvimento
- Domine Java 21+: Records, Virtual Threads, Pattern Matching
- Spring Boot + JPA + Testes (JUnit 5, Mockito, Testcontainers)
- Kafka + Security (JWT, OAuth 2 + Keycloak) + OpenAPI
- Docker + Kubernetes + Observability (OpenTelemetry, Grafana)
- GraalVM Native Image + Performance Tuning
Foque em projetos reais ao invés de só teoria.
Sugestões:
- API REST completa com autenticação (Spring Boot + JWT + OpenAPI)
- Sistema com mensageria (Kafka + Spring Integration)
- Microsserviço com Spring Boot + Docker + Kubernetes
- Serviço reativo com Spring WebFlux + Project Reactor
🔥 Regra de ouro: Aprenda - Aplique - Ensine - Repita