跳到主要内容

Guava 简介

· 阅读需 3 分钟

Overviews - Five Ws

问题答案
是什么一套开源的 Java 公共组件
谁开发的主要由 Google 工程师开发维护
哪里用所有使用 Java 的地方
什么时候出现的2008 年九月 第一个 Google Collection 版本出现在 maven 仓库;
2010 年四月第一个 Guava 版本出现在maven 仓库
什么使用为什么不使用 ?

Features

TIPS 可参考GuavaExplained的左边栏.

  • 集合初始化工具和辅助工具
  • 有限的函数式编程支持
  • 提供常用的特殊集合类型
  • 排序组件
  • 事件总线
  • 缓存
  • 并发辅助组件
  • 字符串工具
  • 原子类型工具
  • IO 辅助
  • 哈希组件
  • 反射组件
  • 数学组件
  • ....

Who use Guava

  • 在 Maven 中央仓库大约有 4500 个项目依赖 Guava
  • FriendsOfGuava 列举了一些 Guava 友好的项目
  • 常见的使用 Guava 的项目 _ GSON _ Guice _ Hadoop,HBase,Spark 等 Hadoop 生态圈项目 _ Cassandra * ....

vs common-lang

  • Maven 中央仓库大约有 3500 个项目依赖 commons-lang
  • Maven 中央仓库大约有 2000 个项目依赖 commons-lang3
  • Maven 中央仓库大约有 4500 个项目依赖 Guava
-版本生产日期大小
Guava18.02014.82.2 MB
commons-lang3v3.42015.4425 KB
commons-langv2.62015.4278 KB

TIPS Guava 并没有将各个模块分离开来,而是作为一个大的 jar 包,官方推荐的是,使用 ProGuard 来剔除自己不使用的内容 commons-lang 只是 Apache Commons 下的一小部分,其他的还有 commons-io 等

Guava 与 Commons-Lang 并不是相互对立的关系,而是可以相互并存的,其交集可能在集合工具组件较多,而其他方面都是各有所长,因为并非二选一的问题.

Reference