Skip to content

Commit 75d01ad

Browse files
authored
Update README.md
1 parent cade6b7 commit 75d01ad

1 file changed

Lines changed: 159 additions & 153 deletions

File tree

README.md

Lines changed: 159 additions & 153 deletions
Original file line numberDiff line numberDiff line change
@@ -1,169 +1,175 @@
11
# Roadmap para Aprender Java em 2025
22

33
## 🛠️ Fundamentos de Programação
4-
5-
1. **Conceitos básicos de programação**
6-
- Variáveis e tipos de dados
7-
- Estruturas de controle (if/else, switch, loops)
8-
- Funções/métodos
9-
- Manipulação de strings
10-
2. **Orientação a Objetos (OOP)**
11-
- Classes e objetos
12-
- Encapsulamento, herança e polimorfismo
13-
- Abstração
14-
- Interfaces
15-
16-
---
4+
- Conceitos básicos de programação
5+
- Variáveis, tipos de dados e operadores
6+
- Estruturas de controle (if/else, switch, loops)
7+
- Funções/métodos
8+
- Manipulação de strings
9+
- *Projeto prático*: Calculadora ou gerenciador de tarefas CLI
10+
- Orientação a Objetos (OOP)
11+
- Classes e objetos
12+
- Encapsulamento, herança e polimorfismo
13+
- Abstração
14+
- Interfaces
15+
- *Projeto prático*: Sistema simples (ex.: biblioteca com livros)
1716

1817
## 🌐 Ambiente de Desenvolvimento
19-
1. **Escolha um IDE/Editor**
20-
- IntelliJ IDEA (recomendado)
21-
- Eclipse
22-
- Visual Studio Code com extensão para Java
23-
24-
2. **Gerenciamento de Projetos**
25-
- Conheça o Maven
26-
- Entenda o Gradle
27-
28-
3. **Controle de Versão**
29-
- Git e GitHub/GitLab/Bitbucket
30-
- Fluxos como Git Flow
31-
32-
---
18+
- Escolha um IDE/Editor
19+
- IntelliJ IDEA (recomendado)
20+
- Eclipse
21+
- Visual Studio Code com extensão para Java
22+
- Gerenciamento de Projetos
23+
- aprenda Maven (foco inicial)
24+
- conheça o Gradle (opcional)
25+
- Controle de Versão
26+
- Git e GitHub/GitLab/Bitbucket
27+
- Fluxos como Git Flow
28+
- *Prática*: Crie um repositório para seus projetos
3329

3430
## 🚀 Linguagem Java
35-
1. **Aprenda a sintaxe moderna**
36-
- Recursos de Java 17 e Java 21 (LTS)
37-
- Switch Expressions
38-
- Text Blocks
39-
- Record Classes
40-
41-
2. **APIs principais**
42-
- Coleções (List, Set, Map)
43-
- Streams e Lambdas
44-
- Concurrency (ExecutorService, CompletableFuture)
45-
46-
3. **Boas práticas**
47-
- Código limpo
48-
- Princípios SOLID
49-
50-
---
51-
52-
## 🛡️ Fundamentos Avançados
53-
1. **Manipulação de arquivos e I/O**
54-
- File, BufferedReader, BufferedWriter
55-
- NIO (Java 7+)
56-
57-
2. **Serialização e deserialização**
58-
- JSON (com Jackson ou Gson)
59-
- XML
60-
61-
3. **Gerenciamento de memória**
62-
- Garbage Collector (GC)
63-
- Análise de heap
64-
65-
4. **Multithreading e Concorrência**
66-
- Threads
67-
- Parallel Streams
68-
- CompletableFuture
69-
70-
---
31+
- Aprenda a sintaxe moderna
32+
- Recursos de Java 17 e Java 21 (LTS)
33+
- Switch Expressions
34+
- Text Blocks
35+
- Record Classes
36+
- *Prática*: Refatore projetos com esses recursos
37+
- APIs principais
38+
- Coleções (List, Set, Map)
39+
- Streams e Lambdas
40+
- Exceções (try-catch, custom exceptions)
41+
- *Prática*: Programa com listas (ex.: ranking de filmes)
42+
- Introdução à concorrência
43+
- Threads básicas
44+
- ExecutorService
45+
- Boas práticas
46+
- Código limpo
47+
- Princípios SOLID
48+
- *Prática*: Exercícios em HackerRank ou LeetCode
49+
50+
## 🛡️ Fundamentos Intermediários
51+
- Manipulação de arquivos e I/O
52+
- File, BufferedReader, BufferedWriter
53+
- NIO (Java 7+)
54+
- *Projeto prático*: Programa que lê/escreve CSV ou TXT
55+
- Serialização e deserialização
56+
- JSON (com Jackson ou Gson)
57+
- XML (opcional)
58+
- *Prática*: Converta objetos em JSON
59+
- Testes unitários
60+
- JUnit 5
61+
- Mockito
62+
- *Prática*: Teste seus projetos anteriores
63+
- Banco de dados básico
64+
- JDBC
65+
- Conexão com MySQL ou PostgreSQL
66+
- *Projeto prático*: CRUD simples (ex.: cadastro de usuários)
7167

7268
## 🔗 Frameworks e Bibliotecas
73-
1. **Desenvolvimento Web**
74-
- Spring Framework (Core, MVC, Boot)
75-
- Quarkus ou Micronaut (alternativas para microserviços)
76-
- Jakarta EE (antigo Java EE)
77-
78-
2. **Banco de Dados**
79-
- JDBC
80-
- JPA e Hibernate
81-
- Flyway ou Liquibase (migrações de banco)
82-
83-
3. **Segurança**
84-
- Spring Security
85-
- OAuth2 e JWT
86-
- Configuração de HTTPS (TLS/SSL)
87-
88-
4. **APIs**
89-
- RESTful APIs com Spring Boot
90-
- OpenAPI/Swagger
91-
- WebSockets
92-
93-
5. **Testes**
94-
- JUnit 5
95-
- Mockito
96-
- Testcontainers
97-
98-
---
99-
100-
## 🧰 Ferramentas e Práticas de DevOps
101-
1. **Ambientes de containerização**
102-
- Docker
103-
- Kubernetes
104-
105-
2. **CI/CD**
106-
- GitHub Actions
107-
- Jenkins
108-
- ArgoCD
109-
110-
3. **Monitoramento**
111-
- Prometheus e Grafana
112-
- Elastic Stack (ELK)
113-
114-
4. **Build e Deploy**
115-
- Cloud (AWS, GCP, Azure)
116-
- Heroku, Render, ou alternativas
117-
118-
---
69+
- Desenvolvimento Web
70+
- Spring Framework (Core, MVC, Boot)
71+
- Quarkus ou Micronaut (após Spring)
72+
- Jakarta EE (opcional, para legados)
73+
- *Projeto prático*: API REST (ex.: blog ou e-commerce)
74+
- Banco de Dados
75+
- JPA e Hibernate
76+
- Flyway ou Liquibase (migrações)
77+
- Segurança
78+
- Spring Security
79+
- OAuth2 e JWT
80+
- Configuração de HTTPS
81+
- *Prática*: Adicione autenticação à API
82+
- APIs
83+
- RESTful APIs com Spring Boot
84+
- OpenAPI/Swagger
85+
- *Prática*: Documente sua API
86+
- Testes
87+
- JUnit 5 (avançado)
88+
- Mockito
89+
- Testcontainers
90+
- *Prática*: Teste sua API completa
91+
92+
## 🧰 Deploy e Práticas de DevOps
93+
- Ambientes de containerização
94+
- Docker
95+
- Kubernetes (básico)
96+
- *Prática*: Deploy de API em Docker
97+
- CI/CD
98+
- GitHub Actions
99+
- Jenkins (opcional)
100+
- *Prática*: Pipeline para sua aplicação
101+
- Build e Deploy
102+
- Cloud (AWS, GCP, Azure)
103+
- Heroku ou Render
104+
- *Projeto prático*: Publique sua API online
105+
- Monitoramento
106+
- Prometheus e Grafana
107+
- Elastic Stack (opcional)
108+
- *Prática*: Monitore sua API
119109

120110
## 📚 Aprendizado Contínuo
121-
1. **Design Patterns**
122-
- Singleton, Factory, Builder, Observer, etc.
123-
2. **Arquitetura**
124-
- Monolitos x Microserviços
125-
- Event-Driven Architecture
126-
- DDD (Domain-Driven Design)
127-
128-
3. **Ferramentas de produtividade**
129-
- Lombok
130-
- MapStruct
131-
132-
---
111+
- Design Patterns
112+
- Singleton, Factory, Builder, Observer
113+
- *Prática*: Aplique em projetos
114+
- Arquitetura
115+
- Monolitos x Microserviços
116+
- Event-Driven Architecture
117+
- DDD (Domain-Driven Design)
118+
- *Projeto prático*: Refatore para microserviços
119+
- Ferramentas de produtividade
120+
- Lombok
121+
- MapStruct
122+
- Soft skills
123+
- Comunicação em code reviews
124+
- Leitura/reporte de bugs
125+
- *Prática*: Contribua em projetos open-source
133126

134127
## 🧪 Tópicos Avançados (Opcional)
135-
1. **Reactive Programming**
136-
- Project Reactor
137-
- RxJava
138-
- Projeto Loom
139-
140-
2. **Módulos e JPMS**
141-
- Modularização no Java (desde o Java 9)
142-
143-
3. **Desempenho e tuning**
144-
- Análise de desempenho com JProfiler ou VisualVM
145-
- Ajustes do JVM (GC tuning, flags)
146-
147-
4. **Machine Learning e Data Science**
148-
- Deep Java Library (DJL)
149-
- Apache Spark com Java
150-
151-
---
128+
- Reactive Programming
129+
- Project Reactor
130+
- Spring WebFlux
131+
- *Projeto prático*: API reativa
132+
- Concorrência avançada
133+
- CompletableFuture
134+
- Parallel Streams
135+
- Projeto Loom (se disponível)
136+
- Desempenho e tuning
137+
- JProfiler ou VisualVM
138+
- Ajustes do JVM
139+
- *Prática*: Analise desempenho
140+
- Exploração de nichos
141+
- Deep Java Library (DJL)
142+
- Apache Spark com Java
152143

153144
## 🌟 Recursos Recomendados
154-
1. **Documentação oficial**
155-
- [Documentação do Java](https://docs.oracle.com/en/java/)
156-
-
157-
158-
2. **Livros**
159-
- *Effective Java* (Joshua Bloch)
160-
- *Java Concurrency in Practice* (Brian Goetz)
161-
- Java como programar (Deitel)
162-
- Use a cabeça Java 3° edição ( Oreilly )
163-
- Ocp Oracle Certified Professional Java Se 17 Developer Study Guide: Exam 1z0-829
164-
- Ocp Oracle Certified Professional Java Se 17 Developer Practice Tests: Exam 1z0-829
145+
- Documentação oficial
146+
- [Documentação do Java](https://docs.oracle.com/en/java/)
147+
- [Spring Docs](https://spring.io/docs)
148+
- Livros
149+
- *Effective Java* (Joshua Bloch)
150+
- *Java Concurrency in Practice* (Brian Goetz)
151+
- *Java: Como Programar* (Deitel)
152+
- *Head First Java, 3rd Edition* (O’Reilly)
153+
- *OCP Java SE 17 Study Guide* (Exam 1Z0-829)
154+
- *OCP Java SE 17 Practice Tests* (Exam 1Z0-829)
155+
- Comunidades
156+
- [Discord da comunidade](https://discord.gg/msjsG55MGn)
157+
- [GUJ](https://guj.com.br)
158+
- Reddit: [r/java](https://reddit.com/r/java)
159+
- Cursos e plataformas
160+
- Baeldung (tutoriais)
161+
- Udemy, Pluralsight, Coursera
162+
- HackerRank, LeetCode, Exercism
163+
164+
## Dicas Finais
165+
166+
> Pratique com projetos reais: Cada etapa deve incluir um projeto prático para consolidar o aprendizado.
167+
168+
> Comece simples: Foque em Spring Boot para web e APIs, que domina o mercado.
169+
170+
> Atualize-se: Acompanhe Java 23+ e tendências em blogs como InfoQ.
171+
172+
> Networking: Participe de comunidades e eventos para aprender com outros devs.
173+
174+
> Portfólio: Crie um GitHub com seus projetos para mostrar ao mercado.
165175
166-
4. **Comunidades**
167-
- [Nosso discord:](https:discord.gg/msjsG55MGn)
168-
- guj.com.br
169-
- Reddit: r/java

0 commit comments

Comments
 (0)