Google Guava — это набор общих библиотек для Java с открытым исходным кодом , в основном разработанный инженерами Google .
Google Guava можно грубо разделить на три компонента: базовые утилиты для сокращения ручного труда для реализации общих методов и поведений, расширение платформы коллекций Java (JCF), ранее называвшейся библиотекой коллекций Google , и другие утилиты, которые предоставляют удобные и продуктивные функции, такие как как функциональное программирование , графики , кэширование , объекты диапазона и хеширование . [4]
Создание и архитектура компонента коллекции были частично мотивированы дженериками , представленными в JDK 1.5. [1] Хотя дженерики повышают производительность программистов, стандарт JCF не обеспечивает достаточную функциональность, а его дополнение Apache Commons Collections не приняло дженерики для поддержания обратной совместимости . [1] Этот факт побудил двух инженеров Кевина Буррилиона и Джареда Леви разработать расширение для JCF, которое предоставляет дополнительные универсальные классы, такие как мультимножества , мультикарты , растровые изображения и неизменяемые коллекции. [1]
Дизайн и код библиотеки были рекомендованы и проверены Джошуа Блохом , первоначальным ведущим дизайнером платформы Java Collections, и Дугом Ли , одним из ведущих дизайнеров утилит параллелизма в JDK . [1]
По состоянию на апрель 2012 года Guava занимала 12-е место по популярности среди Java-библиотек после проектов Apache Commons и некоторых других. [5] Исследования, проведенные в 2013 году на 10 000 проектах GitHub, показали, что библиотеки Google, такие как Google Web Toolkit и Guava, составляют 7 из 100 самых популярных библиотек Java, а Guava занимает 8-е место по популярности среди библиотек Java. [6]