Skip to content

Latest commit

 

History

History
293 lines (227 loc) · 4.5 KB

File metadata and controls

293 lines (227 loc) · 4.5 KB

☕ Maratona Java Virado no Jiraya ☕

Repositório com meus estudos do curso Maratona Java Virado no Jiraya do canal DevDojo.

Aqui registro minha evolução em Java, cobrindo desde os fundamentos até tópicos avançados como Streams, Threads, Concorrência e Multithreading.

🎯 Objetivo

Dominar Java do zero ao avançado, consolidando:

  • Base sólida de OOP
  • Programação funcional
  • Streams
  • Multithreading
  • Concorrência
  • Estruturas internas da linguagem

🚀 Tecnologias Utilizadas

  • Java
  • IntelliJ IDEA
  • JDK 15+

📚 Conteúdo Completo do Curso

🔰 01 - Introdução e Configuração

  • O que é Java
  • Como Java funciona
  • Download e instalação da JDK
  • Variáveis de ambiente
  • Compilação manual
  • Instalando IntelliJ
  • Organização de pacotes
  • Comentários

🔢 02 - Tipos Primitivos

  • byte, short, int, long
  • float e double
  • char
  • boolean
  • Casting
  • Strings
  • Exercícios

➗ 03 - Operadores

  • Aritméticos
  • Relacionais
  • Lógicos
  • Atribuição
  • Exercícios

🔀 04 - Estruturas Condicionais

  • if
  • else if
  • operador ternário
  • switch
  • Exercícios práticos

🔁 05 - Estruturas de Repetição

  • while
  • do while
  • for
  • break
  • continue

🧮 06 - Arrays

  • Arrays unidimensionais
  • Arrays multidimensionais
  • Iteração com for
  • Exercícios

🧱 07 - Orientação a Objetos

  • Classes e atributos
  • Métodos
  • Parâmetros
  • Referência de objetos
  • this
  • Construtores
  • Blocos de inicialização
  • Static
  • Sobrecarga
  • Encapsulamento
  • Associação
  • Herança
  • Polimorfismo
  • Sobrescrita
  • Super
  • Final
  • Classes Abstratas
  • Interfaces
  • Enum
  • Anotação Override

⚠️ 08 - Exceções

  • Errors
  • RuntimeException
  • Checked vs Unchecked
  • Try / Catch
  • Finally
  • Try-with-resources
  • Exceções customizadas

🛠️ 09 - Classes Utilitárias

  • Wrappers
  • Strings
  • StringBuilder
  • Date
  • Calendar
  • LocalDate
  • LocalDateTime
  • Period
  • Duration
  • Formatter
  • Locale
  • ResourceBundle
  • Regex
  • IO
  • NIO
  • Path
  • Files
  • Serialization

📦 10 - Coleções

  • equals e hashCode
  • List
  • ArrayList
  • LinkedList
  • Set
  • HashSet
  • Map
  • HashMap
  • Queue
  • PriorityQueue
  • Binary Search
  • Sorting
  • Comparable
  • Comparator

🧬 11 - Generics

  • Classes genéricas
  • Métodos genéricos
  • Wildcards
  • Upper bounded
  • Lower bounded

🧩 12 - Classes Internas

  • Classes locais
  • Classes anônimas
  • Classes estáticas aninhadas

🔥 13 - Lambdas e Programação Funcional

  • Parametrizando comportamento
  • Predicate
  • Consumer
  • Supplier
  • Function
  • Method Reference
  • Optional

🌊 14 - Streams

  • Introdução
  • Filter
  • Map
  • Reduce
  • Collect
  • Collectors
  • FlatMap
  • GroupingBy
  • Parallel Streams pt 01
  • Parallel Streams pt 02

🧵 15 - Threads

  • Introdução
  • Estados das Threads
  • Prioridade
  • Sleep
  • Yield
  • Join
  • Sincronização
  • Synchronized
  • Deadlock
  • Wait / Notify

⚙️ 16 - Concorrência

  • AtomicInteger
  • Lock
  • ReentrantLock
  • Conditions
  • ReentrantReadWriteLock
  • CopyOnWriteArrayList
  • ArrayBlockingQueue
  • LinkedTransferQueue
  • Executors pt 01 - Thread Pools
  • Executors pt 02 - ScheduledExecutorService
  • Executors pt 03 - Interface Callable
  • Future
  • CompletableFuture

🏗️ 12 - Padrões de Projeto

  • Builder
  • Factory
  • Singleton (Eager Initialization)
  • Singleton (Lazy Initialization)
  • Singleton com Enum
  • Data Transfer Object (DTO)

🗄️ 13 - JDBC

Configuração

  • Instalando Docker
  • Criando container MySQL
  • Instalando Workbench
  • Criando schema e tabelas
  • Adicionando Maven ao projeto
  • Dependência JDBC

Operações com Statement

  • Inserindo dados
  • Deletando dados
  • Atualizando dados

ResultSet

  • findAll
  • findByName
  • ResultSetMetaData
  • DatabaseMetaData
  • TYPE_SCROLL_INSENSITIVE
  • Atualizando registros com ResultSet
  • Inserindo e deletando com ResultSet

PreparedStatement

  • PreparedStatement pt 01
  • PreparedStatement pt 02

CallableStatement

  • Executando procedures

RowSet

  • JdbcRowSet
  • CachedRowSet

Transações

  • Controle de transação

CRUD Completo

  • findAll
  • findByName
  • delete
  • save
  • update
  • Anime CRUD completo

🧪 14 - Testes Unitários

  • JUnit pt 01
  • JUnit pt 02

🆕 15 - Atualizações da Linguagem

  • Atualizando JDK
  • Record Class
  • Pattern Matching for instanceof

🧑‍💻 Autor

Piter Gomes — Aluno de Ciências da Computação (6º Período) & Desenvolvedor Full-Stack

📧 Email | 💼 LinkedIn | 💻 GitHub