Google Guava
Basisdaten

Hauptentwickler Google Guava Community
Entwickler Google Guava Community
Aktuelle Version 33.6.0[1]
(14. April 2026)
Betriebssystem plattformunabhängig
Programmier­sprache Java
Lizenz Apache-Lizenz 2.0
github.com/google/guava

Google Guava ist eine freie Sammlung von Programmbibliotheken für die Programmiersprache Java. Die Sammlung ist als Ergänzung zur Funktionalität der Java-Klassenbibliothek gedacht und erweitert diese beispielsweise bezüglich Collections, I/O-Unterstützung oder Stringmanipulationen.

Google Guava wird hauptsächlich von Google-Entwicklern gewartet und wird von Google in ihren Java-Projekten verwendet.[2]

Google Guava gilt als eine der populärsten Java-Bibliotheken.[3]

Geschichte

Bearbeiten

Google Guava wurde ursprünglich unter dem Namen Google Collections Library von Kevin Bourrillion und Jared Levy entwickelt.[4]

Die Umsetzung und Architektur der Google Collections Library war teilweise motiviert durch die mit Java 5 eingeführte Generische Programmierung in Java.[4] Obwohl die Einführung von Generics die Produktivität bei der Entwicklung verbesserte, gab es nicht genügend unterstützende Funktionalität in der Java-Klassenbibliothek. Die dafür meist eingesetzte Apache-Commons-Collections-Bibliothek wurde aber aus Gründen der Abwärtskompatibilität bis Version 4.0 Ende 2013 nicht für Generics angepasst.[4] Das motivierte Kevin Bourrillion und Jared Levy dazu, eine Erweiterung für das Java Collections Framework zu schreiben, welche generische Collection-Klassen wie Multisets, Multimaps, Bimaps oder unveränderliche Collections enthält.[4] Dabei wurden sie unterstützt von Joshua Bloch, dem Autor von „Effective Java“ sowie Doug Lea, einem der Lead Designers der Java Concurrency Utilities der Java-Klassenbibliothek.[4]

Bestandteile

Bearbeiten

Google Guava kann grob in folgende Bestandteile aufgeteilt werden:[2]

Basis-Utilities
Zur Reduktion des Aufwandes bei der Implementierung in Java typischer Methoden und Verhaltens. Beispielsweise die Unterstützung bei der Behandlung von potentiellen Null Objekten, Unterstützung für die Überprüfung von Vorbedingungen, Unterstützung für die Implementierung von hashCode()- und toString()-Methoden.
Collections
Eine Erweiterung des Java Collections Frameworks – früher die Google Collections Library genannt. Immutable Collections, weitere Collection-Klassen wie beispielsweise Multimaps zur vereinfachten Behandlung von Maps für Listen (Map<K, List<V>>)
Weitere Utilities
Für die Umsetzung erweiterter Funktionalitäten wie Caches, Funktionale Programmierung, Range Objekte und Hashfunktionen.

Einige der Bestandteile (beispielsweise I/O-Unterstützung) wurden durch Java 7 obsolet, andere (funktionale Programmierung) werden durch Funktionalität in Java 8 (Closures) überflüssig.

Siehe auch

Bearbeiten
Bearbeiten

Einzelnachweise

Bearbeiten
  1. Release 33.6.0. 14. April 2026 (abgerufen am 15. April 2026).
  2. a b Guava. Google Core Libraries for Java 1.6+. Abgerufen am 13. Dezember 2015 (englisch).
  3. Tim O'Brien: Google Guava Shows Strong Growth in April. Sonatype, abgerufen am 8. März 2013 (englisch).
  4. a b c d e Geertjan Wielenga: What is the Google Collections Library? Javalobby, 23. Oktober 2007, archiviert vom Original (nicht mehr online verfügbar) am 19. November 2015; abgerufen am 8. März 2013 (englisch): „Kevin Bourrillion and Jared Levy are the two primary creators of the Google Collections Library, which aims to provide an extension to the Java Collections Framework.“  Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/www.javalobby.org

📚 Artikel Terkait di Wikipedia

Hibernate (Framework)

Winterschlaf halten) ist ein Open-Source-Persistenz- und ORM-Framework für Java. Für das .Net-Framework ist eine portierte Version namens NHibernate verfügbar

Kotlin (Programmiersprache)

nutzt sie bestehenden Code der Java Class Library (JCL), z. B. das Java Collections Framework (JCF). Anders als in Java wird bei Kotlin der Datentyp einer

.Net-Framework

Das .Net-Framework (Eigenschreibweise: .NET Framework) ist ein Teil von Microsofts Software-Plattform .NET und erfüllt als solcher seine Funktion bei der

JavaFX

JavaFX ist ein Framework zur Erstellung plattformübergreifender Java-Applikationen. Es ist eine Java-Spezifikation von Oracle und setzt sich zum Ziel,

JCF

Jugendorganisation der Gesellschaft Deutscher Chemiker Jura-Cement-Fabriken, Schweizer Zementhersteller Java Collections Framework, Collection Datenstruktur

Joshua Bloch

Chief Java Architect zu Google. Er leitete die Entwicklung vieler Funktionen der Java-Plattform, beispielsweise das Java-Collections-Framework, das java.math-Package

Eclipse (IDE)

selbst basiert auf Java-Technik, ab Version 3.0 auf dem OSGi-Framework Equinox. Eclipse ist der Nachfolger von IBM Visual Age for Java 4.0. Der Quellcode

Garbage Collection

Download: CiteSeerX) Garbage Collection im .NET Framework (englisch) Java SE 6 HotSpot Virtual Machine Garbage Collection Tuning (englisch) A garbage collector