Repositório para dominar a biblioteca padrão do Java (java.base e módulos úteis), com exemplos minimalistas, casos práticos e referências completas.
Filosofia: 1 classe/utilidade por arquivo, exemplos curtos e focados, sem frameworks externos, código que funciona na prática.
java-toolbox/
├─ pom.xml
├─ README.md
├─ strings/
│ ├─ StringBasics.java ✅
│ ├─ StringSearching.java ✅
│ └─ StringBuilderExamples.java ✅
├─ regex/
│ ├─ RegexBasics.java ✅
│ ├─ RegexGroups.java ✅
│ ├─ RegexReplace.java ✅
│ └─ RegexValidation.java ✅
├─ numbers/
│ ├─ IntegerUtils.java ✅
│ ├─ LongUtils.java ✅
│ ├─ BigDecimalUtils.java ✅
│ └─ MathAndRandom.java ✅
├─ collections/
│ ├─ ListsBasics.java ✅
│ ├─ SetsBasics.java ✅
│ ├─ MapsBasics.java ✅
│ ├─ QueueBasics.java ✅
│ └─ ComparatorsAndRecords.java ✅
├─ streams/
│ ├─ StreamBasics.java ✅
│ ├─ CollectorsRecipes.java ✅
│ └─ OptionalPatterns.java ✅
├─ javapillars/
│ ├─ encapsulation/
│ │ ├─ EncapsulationSyntax.java ✅
│ │ ├─ BankAccountExample.java ✅
│ │ ├─ ProductExample.java ✅
│ │ └─ UserExample.java ✅
│ ├─ inheritance/
│ │ ├─ InheritanceSyntax.java ✅
│ │ ├─ AnimalExample.java ✅
│ │ └─ VehicleExample.java ✅
│ ├─ polymorphism/
│ │ ├─ PolymorphismSyntax.java ✅
│ │ └─ ShapeExample.java ✅
│ └─ abstraction/
│ ├─ AbstractionSyntax.java ✅
│ └─ PaymentExample.java ✅
├─ dates/
│ ├─ LocalDateTimeBasics.java ✅
│ ├─ DurationPeriod.java ✅
│ └─ DateTimeFormatting.java ✅
├─ io_nio/
│ ├─ FilesAndPaths.java ✅
│ └─ ReadWriteSmallFiles.java ✅
├─ concurrency/
│ ├─ ThreadsBasics.java ✅
│ └─ ExecutorsAndFutures.java ✅
├─ net_http/
│ ├─ HttpClientBasics.java ✅
│ └─ HttpGitHubAPI.java ✅
├─ utilities/
│ └─ Preconditions.java ✅
- ✅ StringBasics.java - Operações fundamentais
- ✅ StringSearching.java - Busca e verificações
- ✅ StringBuilderExamples.java - Construção eficiente
- ✅ RegexBasics.java - Pattern, Matcher, operações básicas
- ✅ RegexGroups.java - Grupos, captura, backreference
- ✅ RegexReplace.java - Substituições e transformações
- ✅ RegexValidation.java - Validação de formatos
- ✅ IntegerUtils.java - Parsing, conversões, operações
- ✅ LongUtils.java - Números grandes, unsigned
- ✅ BigDecimalUtils.java - Precisão financeira
- ✅ MathAndRandom.java - Matemática e aleatoriedade
- ✅ ListsBasics.java - ArrayList, LinkedList, operações
- ✅ SetsBasics.java - HashSet, TreeSet, operações de conjunto
- ✅ MapsBasics.java - HashMap, TreeMap, operações chave-valor
- ✅ QueueBasics.java - Filas, pilhas, Deque, PriorityQueue
- ✅ ComparatorsAndRecords.java - Ordenação e records
- ✅ StreamBasics.java - Filter, map, collect, operações básicas
- ✅ CollectorsRecipes.java - Agrupamento, estatísticas, joining
- ✅ OptionalPatterns.java - Tratamento seguro de valores nulos
- ✅ Encapsulation (4/4):
- ✅ EncapsulationSyntax.java - Manual de referência completo
- ✅ BankAccountExample.java - Sistema bancário
- ✅ ProductExample.java - E-commerce
- ✅ UserExample.java - Sistema de usuários
- ✅ Inheritance (3/3):
- ✅ InheritanceSyntax.java - Herança, super, sobrescrita
- ✅ AnimalExample.java - Hierarquia de animais
- ✅ VehicleExample.java - Sistema de veículos
- ✅ Polymorphism (2/2):
- ✅ PolymorphismSyntax.java - Polimorfismo, instanceof, casting
- ✅ ShapeExample.java - Formas geométricas
- ✅ Abstraction (2/2):
- ✅ AbstractionSyntax.java - Classes abstratas, interfaces
- ✅ PaymentExample.java - Sistema de pagamentos completo
- ✅ LocalDateTimeBasics.java - Criação, manipulação, comparação
- ✅ DurationPeriod.java - Intervalos de tempo
- ✅ DateTimeFormatting.java - Formatação e parsing
- ✅ FilesAndPaths.java - Sistema de arquivos
- ✅ ReadWriteSmallFiles.java - Leitura/escrita, encodings
- ✅ ThreadsBasics.java - Threads, sincronização
- ✅ ExecutorsAndFutures.java - Pool de threads, Future, CompletableFuture
- ✅ HttpClientBasics.java - GET, POST, PUT, DELETE
- ✅ HttpGitHubAPI.java - Consumindo APIs reais
- ✅ Preconditions.java - Validações robustas, fail-fast
PROJETO FINALIZADO! ✅ Todos os módulos principais foram implementados com sucesso:
- 🎉 36 classes implementadas com exemplos práticos funcionais
- 📚 Documentação rica com emojis e explicações didáticas
- 🔧 Sintaxe completa para cada conceito
- 💼 Casos reais de uso em sistemas profissionais
- 📖 Manuais de referência para consulta rápida
- 🎉 JAVA PILLARS FINALIZADO! - Todos os 4 pilares da POO implementados
- ✅ STREAMS COMPLETO - Filter, map, collect, grouping, Optional
- 🌐 HTTP CLIENT IMPLEMENTADO - Requisições modernas com java.net.http
- ⏰ DATES FINALIZADO - LocalDateTime, Duration, formatação
- 📁 I/O NIO COMPLETO - Files, Paths, operações de arquivo
- 🧵 CONCURRENCY IMPLEMENTADO - Threads, ExecutorService, Future
- 🔧 UTILITIES ADICIONADO - Validações e preconditions
- 📖 DOCUMENTAÇÃO EXCEPCIONAL - Cada classe é um tutorial completo
ZERO dependências externas! 🎉
Este projeto usa apenas Java puro da biblioteca padrão. Não precisa instalar nada além do JDK 17+.
<!-- pom.xml básico apenas para estrutura -->
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
</properties>
# Executar exemplo específico
java strings/StringBasics.java
# Ou compilar e executar
javac strings/StringBasics.java && java strings.StringBasics
# Compilar projeto inteiro (opcional)
mvn compile
- 🏆 COMPLETUDE: Cobertura completa da biblioteca padrão Java
- 📚 DOCUMENTAÇÃO RICA: Cada arquivo é um tutorial independente
- 💼 EXEMPLOS PRÁTICOS: Casos reais de sistemas profissionais
- 🎯 SINTAXE FOCADA: Demonstra COMO fazer, não apenas conceitos
- 🔧 ZERO DEPENDÊNCIAS: Apenas Java puro, sem bibliotecas externas
- 📖 MANUAIS DE REFERÊNCIA: Arquivos *Syntax.java para consulta rápida
- 🌟 QUALIDADE PROFISSIONAL: Código comentado e estruturado
Este projeto foi estruturado para máxima visibilidade e acessibilidade:
- 📁 Pastas na raiz: Todos os módulos visíveis na página inicial do GitHub
- 🎯 Navegação intuitiva: Estrutura clara e organizada
- ⚡ Maven configurado: Build e execução automatizados
- 🧪 Preparado para testes: Estrutura pronta para expansão
- Iniciantes: Aprender Java com exemplos práticos
- Estudantes: Material de estudo estruturado e completo
- Java 17 como versão base
- Exemplos práticos com casos de uso reais
- Documentação rica com emojis e explicações detalhadas
- Sintaxe completa para cada conceito
- Sem dependências externas (apenas Java puro)
- Código limpo seguindo boas práticas
- Estrutura modular para fácil navegação
- Fork o repositório
- Clone localmente
- Implemente novos exemplos ou melhore os existentes
- Documente seguindo o padrão existente (emojis + comentários)
- Envie pull request
Ideias para contribuições:
- Testes unitários (JUnit)
- Novos módulos (JSON, XML, etc.)
- Mais exemplos práticos
- Tradução para outros idiomas
Manipulação completa de strings com métodos essenciais, busca, construção eficiente com StringBuilder e exemplos práticos de processamento de texto.
Expressões regulares do básico ao avançado: Pattern, Matcher, grupos, substituições e validações de formatos comuns (email, CPF, telefone).
Trabalho com números: primitivos, wrappers, BigDecimal para precisão financeira, operações matemáticas e geração de números aleatórios.
Framework de coleções completo: List, Set, Map, Queue com implementações específicas, operações e comparadores personalizados.
API de Streams para programação funcional: operações intermediárias, terminais, Collectors avançados e padrões com Optional.
Os 4 pilares da POO implementados com exemplos práticos: Encapsulamento (dados protegidos), Herança (reutilização), Polimorfismo (flexibilidade) e Abstração (simplicidade).
API moderna de datas: LocalDateTime, Duration, Period, formatação, parsing e operações temporais para sistemas reais.
Sistema de arquivos moderno: Files, Paths, leitura/escrita eficiente, encodings e operações de backup automatizado.
Programação concorrente: Threads, sincronização, ExecutorService, Future, CompletableFuture para processamento paralelo.
Cliente HTTP moderno (Java 11+): requisições GET/POST/PUT/DELETE, headers, tratamento de respostas e integração com APIs reais.
Utilitários essenciais: validações robustas, preconditions, fail-fast patterns e tratamento defensivo de parâmetros.
Metodologia: Construção gradual, questionamentos constantes, explicações detalhadas, conexão entre conceitos, exemplos práticos que funcionam no mundo real.
🤖 Sobre IA: Este projeto utiliza IA para tornar os códigos mais comunicativos e didáticos através de comentários detalhados e documentação rica. Toda a lógica, estrutura e arquitetura são de autoria própria, com foco em ensino e referência técnica.
⭐ Se este projeto te ajudou, deixe uma estrela! ⭐