Ir para o conteúdo

Lista de Packages Mais Comuns

Um dos problemas indicados por novos utilizadores é o facto de não conhecerem os packages principais da linguagem. Dado que a plataforma Java é extensa, é complicado conhecer todas as classes existentes e as suas várias funcionalidades, portanto, será também difícil que esta página agregue toda a informação existente sobre as classes da plataforma, no entanto, vamos tentar olhar para as mais comuns.

O quadro seguinte procura indicar os packages e classes mais comuns. O leitor deve ter em atenção que este quadro apresenta apenas uma porção muito pequena do que a plataforma oferece, ficando de fora muitas classes úteis.

Package / Classe / Interface Descrição
java.awt Toolkit gráfico AWT. Toolkit mais antigo mas cujo package contém várias classes úteis, nomeadamente para acesso e manipulação de Imagens usado em Java2D e classes para criação de componentes a usar em interfaces gráficas com o utilizador.
java.awt.geom Classes para manipulação de formas geométricas, particularmente úteis quando usados em conjunto com Java 2D.
javax.crypto Package de criptografia, contendo algoritmos de encriptação e de hashing.
javax.imageio Package específico para manipulação de imagens com especial cuidado na performance.
java.lang.reflect Package com API para uso em reflexão. Tipicamente usada por frameworks que gerem código criado pelos programadores, tal como o sistema de ORM1
java.math Classe usadas em problemas matemáticos, incluí também classes para representar números com maior precisão que os tipos primitivos.
javax.net Acesso a sockets seguros. Se o programa necessita de usar sockets, este é o package a incluir.
java.nio Acesso optimizado a ficheiros, esta é uma API de nível mais baixo que a java.io, oferecendo também mais performance. Esta performance vem, naturalmente, com a perda de alguma facilidade de desenvolvimento.
javax.sound Acesso e manipulação de som. A plataforma standard suporta um conjunto limitado de formatos de som, sendo necessário usar a extensão Java Media Framework para possibilitar a manipulação de formatos não suportados.
java.sql Package para JDBC. Permite o acesso a bases de dados relacionais2.
javax.swing Toolkit gráfico Swing. Criado em cima do AWT, oferece melhores interfaces, mais controlos gráficos, mais estabilidade e portabilidade, além de um desenvolvimento mais simples e rápido. Actualmente é mais comum que os IDEs3 ofereçam uma forma de criar interfaces que não implique a criação directa de código, pelo que este package, apesar de extremamente útil, começa a ser cada vez mais desconhecido.
java.util Package que oferece muitas classes utilitárias como compressão em formato zip e criação e manipulação de ficheiros jar.
java.util.Collections Estruturas de dados como listas, filas, pilhas, tabelas de hash, vectores, etc.

Existem mais packages na plataforma Java, algumas APIs não são distribuídas com o JDK standard mas podem ser obtidas em downloads separados, e esta lista, mesmo centrando-se apenas nos packages standard não é exaustiva. Fica para o leitor a descoberta da API standard completa e das APIs extra existentes, que pode iniciar em Java SE Technologies at a Glance e em Java™ Platform, Standard Edition 6 API Specification


  1. Object-relation Mapping, Object-relational_mapping 

  2. Ver capítulo sobre JDBC 

  3. Ver capítulo de ferramentas