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.
Dominar Java do zero ao avançado, consolidando:
- Base sólida de OOP
- Programação funcional
- Streams
- Multithreading
- Concorrência
- Estruturas internas da linguagem
- Java
- IntelliJ IDEA
- JDK 15+
- 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
- byte, short, int, long
- float e double
- char
- boolean
- Casting
- Strings
- Exercícios
- Aritméticos
- Relacionais
- Lógicos
- Atribuição
- Exercícios
- if
- else if
- operador ternário
- switch
- Exercícios práticos
- while
- do while
- for
- break
- continue
- Arrays unidimensionais
- Arrays multidimensionais
- Iteração com for
- Exercícios
- 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
- Errors
- RuntimeException
- Checked vs Unchecked
- Try / Catch
- Finally
- Try-with-resources
- Exceções customizadas
- Wrappers
- Strings
- StringBuilder
- Date
- Calendar
- LocalDate
- LocalDateTime
- Period
- Duration
- Formatter
- Locale
- ResourceBundle
- Regex
- IO
- NIO
- Path
- Files
- Serialization
- equals e hashCode
- List
- ArrayList
- LinkedList
- Set
- HashSet
- Map
- HashMap
- Queue
- PriorityQueue
- Binary Search
- Sorting
- Comparable
- Comparator
- Classes genéricas
- Métodos genéricos
- Wildcards
- Upper bounded
- Lower bounded
- Classes locais
- Classes anônimas
- Classes estáticas aninhadas
- Parametrizando comportamento
- Predicate
- Consumer
- Supplier
- Function
- Method Reference
- Optional
- Introdução
- Filter
- Map
- Reduce
- Collect
- Collectors
- FlatMap
- GroupingBy
- Parallel Streams pt 01
- Parallel Streams pt 02
- Introdução
- Estados das Threads
- Prioridade
- Sleep
- Yield
- Join
- Sincronização
- Synchronized
- Deadlock
- Wait / Notify
- AtomicInteger
- Lock
- ReentrantLock
- Conditions
- ReentrantReadWriteLock
- CopyOnWriteArrayList
- ArrayBlockingQueue
- LinkedTransferQueue
- Executors pt 01 - Thread Pools
- Executors pt 02 - ScheduledExecutorService
- Executors pt 03 - Interface Callable
- Future
- CompletableFuture
- Builder
- Factory
- Singleton (Eager Initialization)
- Singleton (Lazy Initialization)
- Singleton com Enum
- Data Transfer Object (DTO)
- Instalando Docker
- Criando container MySQL
- Instalando Workbench
- Criando schema e tabelas
- Adicionando Maven ao projeto
- Dependência JDBC
- Inserindo dados
- Deletando dados
- Atualizando dados
- findAll
- findByName
- ResultSetMetaData
- DatabaseMetaData
- TYPE_SCROLL_INSENSITIVE
- Atualizando registros com ResultSet
- Inserindo e deletando com ResultSet
- PreparedStatement pt 01
- PreparedStatement pt 02
- Executando procedures
- JdbcRowSet
- CachedRowSet
- Controle de transação
- findAll
- findByName
- delete
- save
- update
- Anime CRUD completo
- JUnit pt 01
- JUnit pt 02
- Atualizando JDK
- Record Class
- Pattern Matching for instanceof
Piter Gomes — Aluno de Ciências da Computação (6º Período) & Desenvolvedor Full-Stack