Este repositório foi criado para a documentação de aprendizado, principalmente para ser usado para os iniciantes do programa 1000Devs Turma 4. Nele será abordado a parte teórica e prática de cada tópico aqui apresentado.
Este roadmap foi criado para te guiar desde os fundamentos até tópicos mais avançados em Java. O plano foi organizado para que você possa estudar de forma consistente, praticando boas práticas e aumentando gradualmente a complexidade dos tópicos.
| Tópico | Atividades | Links |
|---|---|---|
| História do Java e JVM | Estudar como a JVM funciona. | História do Java e JVM |
| Tipos de dados e operadores | Resolver problemas básicos de lógica no console. | Tipos de dados e operadores |
| Controle de fluxo | Criar pequenos programas com if/else, switch, laços (for, while). |
Controle de fluxo |
| Métodos e escopo de variáveis | Implementar funções para cálculos matemáticos básicos. | Métodos e escopo de variáveis |
| Manipulação de Strings | Simular operações com Strings. | Manipulação de Strings |
| Calculadora Simples | Criar um programa que solicita dois números e uma operação matemática. | Calculadora Simples |
Duração: 1-2 semanas (1 hora por dia)
Tempo por tópico: 2-3 dias
| Tópico | Atividades | Links |
|---|---|---|
| Iteradores | Praticar a navegação por coleções utilizando Iteradores, com métodos que encapsulam essa lógica. | Iteradores |
| Métodos | Criar métodos reutilizáveis para manipular Arrays, Listas, Sets e Mapas de forma eficiente. | Métodos |
| Arrays e Matrizes | Aplicabilidade na prática entre Arrays e Matrizes, implementando métodos para manipulação. | Arrays e Matrizes |
| Listas, Sets e Mapas | A importância de Coleções em Java para manipular grandes volumes, com métodos de busca e inserção. | Listas, Sets e Maps |
| Sistema de Cadastro Simples | Um sistema de cadastro de pessoas abordando tudo que foi estudado até aqui. | Sistema de Cadastro Simples |
Duração: 2-3 semanas (1 hora por dia)
Tempo por tópico: 2-3 dias
| Tópico | Atividades |
|---|---|
| Classes e Objetos | Criar um sistema simples (ex: gerenciador de biblioteca ou loja de produtos). |
| Encapsulamento, Herança, Polimorfismo | Implementar exemplos práticos com herança e polimorfismo. |
| Modificadores de acesso | Praticar o uso de public, private, protected em um sistema de cadastro. |
| Construtores e destrutores | Simular a criação e destruição de objetos. |
Duração: 2-3 semanas (1-1.5 horas por dia)
Tempo por tópico: 3-5 dias
| Tópico | Atividades |
|---|---|
Bloco try, catch, finally |
Manipular exceções básicas em programas. |
| Exceções Personalizadas | Criar suas próprias exceções para tratamentos específicos. |
| Leitura e escrita de arquivos | Criar um sistema de logs ou gerenciador de cadastro com manipulação de arquivos. |
Duração: 1 semana (1-1.5 horas por dia)
Tempo por tópico: 3-4 dias para exceções, restante para arquivos
| Tópico | Atividades |
|---|---|
| Interfaces Funcionais | Estudar interfaces funcionais. |
| Lambda Expressions | Praticar uso de expressões lambda em coleções. |
| Stream API | Criar programas que usam Stream API para manipular listas e coleções. |
Duração: 1 semana (1-1.5 horas por dia)
| Tópico | Atividades |
|---|---|
| Bancos de dados relacionais | Estudar como funcionam os bancos de dados relacionais (ex: MySQL). |
| JDBC | Conectar e executar consultas usando JDBC. |
| ORM (Hibernate) | Introdução ao Hibernate para mapeamento objeto-relacional. |
Duração: 2 semanas (1-1.5 horas por dia)
Tempo por tópico: 4-5 dias para JDBC, restante para Hibernate
| Tópico | Atividades |
|---|---|
| Threads e ciclo de vida | Criar programas que processam tarefas em paralelo usando threads. |
| Synchronized e Locks | Praticar controle de concorrência com synchronized e Locks. |
| ExecutorService e Callable | Implementar ExecutorService e tarefas assíncronas. |
Duração: 2 semanas (1-1.5 horas por dia)
| Tópico | Atividades |
|---|---|
| Injeção de Dependência | Praticar DI em projetos Spring Boot. |
| Spring Boot | Criar um projeto básico com Spring Boot. |
| Spring Data JPA | Implementar CRUD com Spring Data JPA. |
| APIs RESTful | Desenvolver uma API completa com Spring Boot. |
Duração: 3-4 semanas (1.5-2 horas por dia)
| Tópico | Atividades |
|---|---|
| JUnit 5 | Criar testes unitários para funcionalidades anteriores. |
| Mockito | Utilizar Mockito para simulação de dependências nos testes. |
| Testes de Integração | Implementar testes de integração para serviços RESTful. |
Duração: 1-2 semanas (1 hora por dia)
