Open Source

Biblioteca Java do Google ganha destaque no GitHub Trending

O Guava reúne coleções, grafos e utilitários para Java e voltou a chamar atenção com 93 novas estrelas no período consultado.

Reprodução · cdn.hackr.io

Dados rápidos

  • Repositório: google/guava
  • Licença: Apache-2.0
  • Linguagem: Java
  • Estrelas e forks: 51.875 estrelas e 11.182 forks
  • Ranking: GitHub Trending, presente na lista diária
  • Consulta: 9 de agosto de 2026

Uma biblioteca para tarefas recorrentes em Java

O Guava é um conjunto de bibliotecas centrais para Java criado pelo Google. O projeto resolve problemas frequentes no desenvolvimento, como organizar coleções de dados, trabalhar com concorrência, entrada e saída, funções de hash, strings e tipos primitivos.

A alta recente aparece no GitHub Trending, com 93 estrelas obtidas no período informado. O repositório foi criado em 29 de maio de 2014, recebeu seu último commit em 7 de agosto de 2026 e tem como versão mais recente a v33.6.0, publicada em 14 de abril de 2026.

Entre os recursos estão novos tipos de coleções, como multimap e multiset, coleções imutáveis e uma biblioteca para grafos. O README também informa que o Guava é usado em grande parte dos projetos Java dentro do Google e por outras empresas.

Como o Guava funciona e como instalar

O projeto é distribuído em duas variantes. A versão JRE exige JDK 1.8 ou superior, enquanto a versão Android é destinada a aplicações móveis ou bibliotecas que precisam manter compatibilidade com Android.

No Maven, o grupo é com.google.guava e o artefato é guava. A versão define a variante utilizada:

<dependency>
  <groupId>com.google.guava</groupId>
  <artifactId>guava</artifactId>
  <version>33.6.0-jre</version>
</dependency>

Para Android, o sufixo deve ser trocado por 33.6.0-android. No Gradle, a dependência pode ser declarada com implementation, quando a biblioteca fica restrita à implementação, ou api, quando os tipos do Guava fazem parte da interface pública de outra biblioteca.

O projeto também publica snapshots da branch master, identificados por 999.0.0-HEAD-jre-SNAPSHOT e 999.0.0-HEAD-android-SNAPSHOT. A documentação da API está disponível em guava.dev/api, com páginas específicas para classes como ImmutableList.

Casos de uso no desenvolvimento

  • Coleções especializadas: multimap permite associar várias entradas a uma chave, enquanto multiset representa coleções nas quais a quantidade de ocorrências importa.
  • Estruturas imutáveis: as coleções imutáveis ajudam a expor dados sem permitir alterações posteriores por partes não autorizadas do código.
  • Modelagem de grafos: a biblioteca de grafos pode representar relações entre entidades, conexões ou etapas de um processo.
  • Concorrência: os utilitários relacionados a concorrência apoiam aplicações que executam tarefas simultaneamente.
  • Entrada, saída e hashing: os módulos reúnem funções para lidar com I/O, funções de hash, strings e tipos primitivos.

Esses recursos funcionam como componentes reutilizáveis dentro de aplicações Java. A adoção depende da necessidade do projeto e da variante escolhida, especialmente quando há compatibilidade com Android.

O que diferencia o projeto

Em comparação com o uso isolado das APIs básicas do Java, o Guava concentra tipos de coleções e utilitários adicionais em uma biblioteca mantida em um único repositório. O conjunto inclui recursos que não aparecem apenas como classes comuns de coleção, como multimap, multiset, coleções imutáveis e grafos.

A separação entre as variantes JRE e Android também aparece diretamente na forma de distribuição. Essa organização permite escolher o artefato conforme o ambiente de execução ou conforme a compatibilidade exigida por uma biblioteca.

O repositório usa a licença Apache-2.0 e mantém documentação de API, guia de usuários e rastreador de problemas. Não há, nas informações fornecidas, comparação de desempenho com bibliotecas alternativas ou números de adoção fora do GitHub.

Limitações e cuidados antes de adotar

O README alerta que APIs marcadas com @Beta podem mudar ou ser removidas. Bibliotecas que expõem seu código para usuários externos são orientadas a não usar essas APIs sem empacotá-las novamente; o projeto recomenda o Guava Beta Checker para identificar esse uso.

APIs sem @Beta têm compromisso de compatibilidade binária por tempo indeterminado, mas o projeto mantém uma ressalva para situações excepcionais, como problemas graves de segurança. Formas serializadas de todos os objetos também podem mudar, salvo indicação contrária, portanto não devem ser persistidas com a expectativa de leitura por versões futuras.

A biblioteca possui uma dependência necessária em tempo de execução: com.google.guava:failureaccess:1.0.3. Existem ainda dependências usadas apenas para anotações. As classes não foram projetadas para proteger contra chamadas maliciosas e não devem ser usadas como mecanismo de comunicação entre código confiável e não confiável.

Os testes da variante principal usam diferentes versões do OpenJDK em Linux e Windows. O README informa que alguns recursos, especialmente em com.google.common.io, podem não funcionar corretamente em ambientes não Linux. Na variante Android, os testes também são executados no nível de API 24. Informações sobre suporte comercial, métricas de desempenho e número de colaboradores não foram informadas no repositório.

Resumo rápido

  • Projeto: bibliotecas centrais do Google para Java
  • Licença: Apache-2.0
  • Linguagem: Java
  • Estrelas: 51.875
  • Ranking: GitHub Trending diário
  • Risco principal: uso de APIs @Beta, serialização sujeita a mudanças e dependência de execução

Fontes

Fontes

JavaApache-2.0Open SourceGitHub Trending
Como fazemos: nossa equipe monitora diariamente os repositórios de código aberto em maior alta e produz esta cobertura com apoio de modelos de linguagem, sempre a partir de dados verificados na fonte primária — repositório, documentação oficial e ranking público. Os números de estrelas e a posição no ranking refletem o momento da coleta. Entenda o método.