Biblioteca Padrão Java (Java Standard Edition): visão geral completa
A Biblioteca Padrão Java (Java Standard Edition — Java SE) é um conjunto fundamental de pacotes, classes e interfaces que acompanha cada JDK (Java Development Kit). Ao contrário de frameworks de terceiros, a biblioteca padrão não requer a instalação de dependências adicionais — ela está disponível "pronta para uso". É ela que torna o Java uma linguagem tão poderosa e portátil, fornecendo ao desenvolvedor soluções prontas para a maioria das tarefas do dia a dia: desde manipulação de strings até multithreading e comunicação em rede.
Nesta visão geral, vamos analisar os principais pacotes da biblioteca padrão, mostrar exemplos práticos de código e explicar como essas ferramentas são aplicadas no desenvolvimento real.
1. Pacote java.lang — a base fundamental
O pacote java.lang é importado automaticamente em qualquer programa Java. Ele contém classes sem as quais nenhuma aplicação pode ser imaginada.
- Object — a classe raiz para todos os objetos. Métodos
equals(),hashCode(),toString(). - String, StringBuilder, StringBuffer — manipulação de strings imutáveis e mutáveis.
- Math — funções matemáticas (
Math.sqrt(),Math.random()). - System — entrada/saída de console, gerenciamento de propriedades do sistema.
- Thread e Runnable — recursos básicos de multithreading.
public class LangExample { public static void main(String[] args) { // Manipulação de strings String text = "Olá, Java!"; System.out.println(text.length()); // 10
// Matemática double sqrt = Math.sqrt(144); System.out.println(sqrt); // 12.0
// Classe Object Object obj = new Object(); System.out.println(obj.hashCode()); }}2. Pacote java.util — coleções e utilitários
Este é o pacote mais abrangente. Ele inclui o Collections Framework, manipulação de datas, números aleatórios e muito mais.
Coleções (Collections Framework)
- List (ArrayList, LinkedList) — listas ordenadas com duplicatas.
- Set (HashSet, TreeSet) — conjuntos sem repetições.
- Map (HashMap, TreeMap) — dicionários "chave-valor".
- Queue (PriorityQueue) — filas.
import java.util.*;
public class UtilExample { public static void main(String[] args) { // ArrayList List<String> list = new ArrayList<>(); list.add("Java"); list.add("Python"); list.add("Java"); System.out.println(list); // [Java, Python, Java]
// HashSet (elementos únicos) Set<String> set = new HashSet<>(list); System.out.println(set); // [Java, Python]
// HashMap Map<String, Integer> map = new HashMap<>(); map.put("Maçã", 10); map.put("Pera", 5); System.out.println(map.get("Maçã")); // 10 }}Utilitários
- Collections — métodos estáticos para ordenação, busca, sincronização.
- Arrays — manipulação de arrays.
- Random — geração de números pseudoaleatórios.
3. Pacote java.io — entrada/saída clássica
Pacote para manipulação de fluxos de dados (Streams). Usado para leitura e escrita de arquivos, manipulação de console e fluxos de rede.
- InputStream/OutputStream — fluxos de bytes.
- Reader/Writer — fluxos de caracteres.
- File
Também na biblioteca
JsonWebToken para JavaScript (Node.js): guia completo com exemplos
Cache em Java: Redis, Caffeine, Ehcache — guia completo
Blade para PHP: guia completo com exemplos práticos
Cliente Elasticsearch para Rust: visão geral da biblioteca elasticsearch-rs
Swift Package Manager para Swift: guia completo com exemplos