Skip to content

Complete Java standard library reference with practical examples and zero dependencies. 36+ classes covering strings, collections, streams, OOP pillars, concurrency, HTTP client, and more.

Notifications You must be signed in to change notification settings

Gabiue/java-toolbox

Repository files navigation

Java Toolbox

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.


📁 Estrutura

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 ✅

🚀 Status do Projeto

CONCLUÍDO - Strings (3/3)

  • ✅ StringBasics.java - Operações fundamentais
  • ✅ StringSearching.java - Busca e verificações
  • ✅ StringBuilderExamples.java - Construção eficiente

CONCLUÍDO - Regex (4/4)

  • ✅ 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

CONCLUÍDO - Numbers (4/4)

  • ✅ IntegerUtils.java - Parsing, conversões, operações
  • ✅ LongUtils.java - Números grandes, unsigned
  • ✅ BigDecimalUtils.java - Precisão financeira
  • ✅ MathAndRandom.java - Matemática e aleatoriedade

CONCLUÍDO - Collections (5/5)

  • ✅ 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

CONCLUÍDO - Streams (3/3)

  • ✅ StreamBasics.java - Filter, map, collect, operações básicas
  • ✅ CollectorsRecipes.java - Agrupamento, estatísticas, joining
  • ✅ OptionalPatterns.java - Tratamento seguro de valores nulos

CONCLUÍDO - Java Pillars (10/10) - FINALIZADO! 🎉

  • ✅ 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

CONCLUÍDO - Dates (3/3)

  • ✅ LocalDateTimeBasics.java - Criação, manipulação, comparação
  • ✅ DurationPeriod.java - Intervalos de tempo
  • ✅ DateTimeFormatting.java - Formatação e parsing

CONCLUÍDO - I/O & NIO (2/2)

  • ✅ FilesAndPaths.java - Sistema de arquivos
  • ✅ ReadWriteSmallFiles.java - Leitura/escrita, encodings

CONCLUÍDO - Concurrency (2/2)

  • ✅ ThreadsBasics.java - Threads, sincronização
  • ✅ ExecutorsAndFutures.java - Pool de threads, Future, CompletableFuture

CONCLUÍDO - HTTP Client (2/2)

  • ✅ HttpClientBasics.java - GET, POST, PUT, DELETE
  • ✅ HttpGitHubAPI.java - Consumindo APIs reais

CONCLUÍDO - Utilities (1/1)

  • ✅ Preconditions.java - Validações robustas, fail-fast

📊 Progresso Total: 36/36 classes (100%!) 🎉

🎯 Foco Atual

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

🏆 Marcos Importantes

  • 🎉 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

📦 Dependências

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>

🏃‍♂️ Como Executar

# 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

🎉 Destaques do Projeto

  • 🏆 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

📝 Estrutura Moderna do Projeto

Este projeto foi estruturado para máxima visibilidade e acessibilidade:

✨ Características:

  • 📁 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

🎯 Público-Alvo

  • Iniciantes: Aprender Java com exemplos práticos
  • Estudantes: Material de estudo estruturado e completo

🔧 Características Técnicas

  • 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

🚀 Como Contribuir

  1. Fork o repositório
  2. Clone localmente
  3. Implemente novos exemplos ou melhore os existentes
  4. Documente seguindo o padrão existente (emojis + comentários)
  5. 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

📚 Módulos Detalhados

🔤 Strings

Manipulação completa de strings com métodos essenciais, busca, construção eficiente com StringBuilder e exemplos práticos de processamento de texto.

🔍 Regex

Expressões regulares do básico ao avançado: Pattern, Matcher, grupos, substituições e validações de formatos comuns (email, CPF, telefone).

🔢 Numbers

Trabalho com números: primitivos, wrappers, BigDecimal para precisão financeira, operações matemáticas e geração de números aleatórios.

📦 Collections

Framework de coleções completo: List, Set, Map, Queue com implementações específicas, operações e comparadores personalizados.

🌊 Streams

API de Streams para programação funcional: operações intermediárias, terminais, Collectors avançados e padrões com Optional.

🏛️ Java Pillars

Os 4 pilares da POO implementados com exemplos práticos: Encapsulamento (dados protegidos), Herança (reutilização), Polimorfismo (flexibilidade) e Abstração (simplicidade).

📅 Dates

API moderna de datas: LocalDateTime, Duration, Period, formatação, parsing e operações temporais para sistemas reais.

📁 I/O & NIO

Sistema de arquivos moderno: Files, Paths, leitura/escrita eficiente, encodings e operações de backup automatizado.

🧵 Concurrency

Programação concorrente: Threads, sincronização, ExecutorService, Future, CompletableFuture para processamento paralelo.

🌐 HTTP Client

Cliente HTTP moderno (Java 11+): requisições GET/POST/PUT/DELETE, headers, tratamento de respostas e integração com APIs reais.

🔧 Utilities

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! ⭐

About

Complete Java standard library reference with practical examples and zero dependencies. 36+ classes covering strings, collections, streams, OOP pillars, concurrency, HTTP client, and more.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages