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.
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.
google/guavaO 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.
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.
multimap permite associar várias entradas a uma chave, enquanto multiset representa coleções nas quais a quantidade de ocorrências importa.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.
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.
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.
@Beta, serialização sujeita a mudanças e dependência de execução