Guava 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
Guava 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
Guava 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」 !
Guava 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」「最积极运营项目」 !
Guava 获得 2020 年度 OSC 中国开源项目评选「最积极运营项目」 !
授权协议 Apache
开发语言 Java
操作系统 跨平台
软件类型 开源软件
所属分类 程序开发常用工具包
开源组织
地区 不详
提 交 者 红薯
适用人群 未知
收录时间 2010-09-27

软件简介

Guava是一种基于开源的Java库,其中包含谷歌正在由他们很多项目使用的很多核心库。这个库是为了方便编码,并减少编码错误。这个库提供用于集合,缓存,支持原语,并发性,常见注解,字符串处理,I/O和验证的实用方法。

Guava 的好处:

  • 标准化 - Guava库是由谷歌托管。

  • 高效 - 可靠,快速和有效的扩展JAVA标准库

  • 优化 -Guava库经过高度的优化。

  • 函数式编程 -增加JAVA功能和处理能力。

  • 实用程序 - 提供了经常需要在应用程序开发的许多实用程序类。

  • 验证 -提供标准的故障安全验证机制。

  • 最佳实践 - 强调最佳的做法。

guava类似Apache Commons工具集

Maven:

<dependency>
    <groupId>com.google.guava</groupId>
    <artifactId>guava</artifactId>
    <version>27.0-jre</version>
    <!-- or, for Android: -->
    <version>27.0-android</version>
</dependency>

示例代码:

public class GuavaTester {
   public static void main(String args[]){
      GuavaTester guavaTester = new GuavaTester();
      Integer a =  null;
      Integer b =  new Integer(10);
      System.out.println(guavaTester.sum(a,b));
   }

   public Integer sum(Integer a, Integer b){
      return a + b;
   }    
}

在线API doc:http://tool.oschina.net/apidocs/apidoc?api=guava

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (13)

加载中
打分: 较差
#Guava#居然没有向后兼容,由其第三库再依赖guava后,极易再项目里造成jar冲突,真实头疼,请教各位大佬有没有好的处理方式
2018/06/29 10:09
回复
举报
h0mmjojmetarunugh
2018/04/29 10:13
回复
举报
#Guava# Guava EventBus DDD
2018/02/27 23:46
回复
举报
打分: 力荐
不错
2017/07/14 14:11
回复
举报
android/platform/external/guava.git Guava
2013/01/26 17:24
回复
举报
关注下 Guava
2013/03/04 19:39
回复
举报
不知道和apache的common比有啥优势 Guava
2013/04/26 12:32
回复
举报
看源码学到很多东西 Guava
2013/05/13 11:24
回复
举报
表示看到用这货的开源项目了 Guava
2013/10/12 21:24
回复
举报
有什么特别的优势么? Guava
2014/10/13 14:10
回复
举报
更多评论
2020/12/16 08:27

Guava 30.1 发布,Google 的 Java 核心工具库

Guava 30.1 发布了,Guava 是 Google 的一个开源项目,包含许多 Google 核心 Java 常用库,如:集合 [collections] 、缓存 [caching] 、原生类型支持 [primitives support] 、并发库 [concurrency libraries] 、通用注解 [common annotations] 、字符串处理 [string processing] 与 I/O 等。 更新内容如下: 在 Java 7 VM 下运行 guava-android 时,引入了一个 warning log message(Android VMs 不受影响)。这个 warning 为 ...

2
2
发表于大前端专区
2019/12/29 08:06

Guava 28.2 发布,Google 的 Java 核心工具库

Guava 28.2 发布了,Guava 是 Google 的一个开源项目,包含许多 Google 核心 Java 常用库,如:集合 [collections] 、缓存 [caching] 、原生类型支持 [primitives support] 、并发库 [concurrency libraries] 、通用注解 [common annotations] 、字符串处理 [string processing] 与 I/O 等。 更新内容如下: 对 GWT-RPC 用户的警告:2020 年的第一个 Guava 版本将删除对 GWT 序列化 Guava 类型的支持 base:添加了 Splitter.spl...

10
14
发表于开发技能专区
2019/08/31 07:32

Guava 28.1 发布,Google 的 Java 核心工具库

Guava 28.1 发布了,Guava 是 Google 的一个开源项目,包含许多 Google 核心 Java 常用库,如:集合 [collections] 、缓存 [caching] 、原生类型支持 [primitives support] 、并发库 [concurrency libraries] 、通用注解 [common annotations] 、字符串处理 [string processing] 与 I/O 等。 更新内容如下: collect:新增 RangeMap.merge,类似于 Map.merge(687252d) collect:修复了 ImmutableSet.Builder 中的一个 bug,当从...

4
17
发表于大前端专区
2019/06/14 07:18

Guava 28.0 发布,Google 的 Java 核心工具库

Guava 28.0 发布了,Guava 是 Google 的一个开源项目,包含许多 Google 核心 Java 常用库,如:集合 [collections] 、缓存 [caching] 、原生类型支持 [primitives support] 、并发库 [concurrency libraries] 、通用注解 [common annotations] 、字符串处理 [string processing] 与 I/O 等。 更新内容如下: collect:为某些 Queues 方法添加了基于 Duration 的重载 (21d06cf) net:为 application/geo+json 添加了 MediaType ...

11
19
发表于服务端专区
2019/03/10 06:54

Guava 27.1 正式发布,Google 的 Java 核心工具库

Google 的 Java 核心工具库 Guava 27.1 已于昨天正式发布。 Guava 是 Google 的一个开源项目,包含许多 Google 核心 Java 常用库,如:集合 [collections] 、缓存 [caching] 、原生类型支持 [primitives support] 、并发库 [concurrency libraries] 、通用注解 [common annotations] 、字符串处理 [string processing] 与 I/O 等。 Maven <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifa...

7
31
发表于AI & 大数据专区
2018/11/21 07:35

Guava 27.0.1 发布,Google 的 Java 核心工具库

Guava 27.0.1 发布了,Guava 是 Google 的一个开源项目,包含许多 Google 核心 Java 常用库,如:集合 [collections] 、缓存 [caching] 、原生类型支持 [primitives support] 、并发库 [concurrency libraries] 、通用注解 [common annotations] 、字符串处理 [string processing] 与 I/O 等。 Maven <dependency>   <groupId>com.google.guava</groupId>   <artifactId>guava</artifactId>   <version>27.0.1-jre</ve...

0
11
发表于开发技能专区
2018/10/19 07:57

Guava 27.0 发布,Google 的 Java 核心工具库

Guava 27.0 发布了,Guava 是 Google 的一个开源项目,包含许多 Google 核心 Java 常用库,如:集合 [collections] 、缓存 [caching] 、原生类型支持 [primitives support] 、并发库 [concurrency libraries] 、通用注解 [common annotations] 、字符串处理 [string processing] 与 I/O 等。 更新内容如下: ListenableFuture 现在可以作为 Guava 单独工件(com.google.guava:listenablefuture:1.0)提供。 (b62d529) collect:...

4
15
发表于大前端专区
2018/08/02 09:31

Guava 26.0 发布,Google 的 Java 核心工具库

Guava 26.0 已发布,更新如下: base: Removed deprecated public static fields from CharMatcher. Use the equivalent public static methods instead. (f1249c4) base: Fixed the ServiceConfigurationError that some users encountered when using Guava as a JPMS module. (8287cdf) cache: Fixed a bug where Cache.asMap.compute* methods could cause nonsensical weights to be stored, breaking cache eviction. (1...

3
6
发表于软件架构专区
2018/06/01 07:32

Guava 23.6.1 发布,修复反序列化 DOS 漏洞

Guava 23.6.1 发布了,目前这是 production ready 状态,25.1 还将是最新的版本。 此次更新修复了使用 Guava 和反序列化攻击者数据的服务器 DOS 漏洞( CVE-2018-10237. (a81698a))。 Guava 是 Google 的一个开源项目,包含许多 Google 核心的 Java 常用库,如:集合 [collections] 、缓存 [caching] 、原生类型支持 [primitives support] 、并发库 [concurrency libraries] 、通用注解 [common annotations] 、字符串处理 [s...

3
0
发表于大前端专区
2018/05/24 07:39

Guava 25.1 发布,Google 的 Java 核心工具库

Guava 25.1 已发布,更新如下: Switched to the type annotation version of @Nullable in the JRE/Java 8 flavor. base: Added Strings.lenientFormat(), copied from Preconditions.format(). net: Added Token Binding HTTP headers to HttpHeaders. reflect: Added overrides for methods on JDK types returning AnnotatedType in the JRE/Java 8 flavor. testing: Added support for type annotations in NullPointerTe...

4
6
发表于大前端专区
2018/04/29 07:18

Guava 24.1.1 发布,Google 的 Java 核心工具库

Guava 24.1.1 发布,此次更新修复了使用 Guava 和反序列化攻击者数据的服务器的 DOS 漏洞:CVE-2018-10237。 Maven <dependency>   <groupId>com.google.guava</groupId>   <artifactId>guava</artifactId>   <version>24.1.1-jre</version>   <!-- or, for Android: -->   <version>24.1.1-android</version> </dependency> Javadoc 24.1.1-jre 24.1.1-android JDiff 24.1.1-jre vs. 25.0-jre 24.1.1-and...

4
13
发表于开发技能专区
2018/04/27 08:07

Guava 25.0 正式发布,Google 的 Java 核心工具库

Guava 25.0 已发布,更新如下: 修复了使用 Guava 和反序列化攻击者数据的服务器 DoS 漏洞 CVE-2018-10237 (f89ece5) cache: 将 java.time.Duration 重载(overload) 添加至 CacheBuilder (9bf6d95) io: 移除已弃用的 Files.fileTreeTraverser() 和 MoreFiles.directoryTreeTraverser()(ce6d93c) 更多细节可查阅发行列表 Guava 是 Google 的一个开源项目,包含许多 Google 核心的 Java 常用库,如:集合 [collections] 、缓存 [c...

3
16
2018/04/26 16:38

Guava 25.0 和 24.1.1 发布,Google 的 Java 核心库

Guava 25.0 和 24.1.1 已发布,其中 Guava 25.0 的更新如下: 修复了由使用 Guava 和反序列化攻击者数据引起的服务器 DOS 漏洞:CVE-2018-10237. (f89ece5) cache: 添加 java.time.Duration 重载至 CacheBuilder. (9bf6d95) io: 移除弃用的 Files.fileTreeTraverser() 和 MoreFiles.directoryTreeTraverser(). (ce6d93c) Maven <dependency>   <groupId>com.google.guava</groupId>   <artifactId>guava</artifactId>  ...

3
4
发表于服务端专区
2018/03/15 08:07

Guava 24.1 发布,Google 的 Java 核心库

Guava 24.1 已发布,Guava 是 Google 的一个开源项目,包含许多 Google 核心的 Java 常用库,如:集合 [collections] 、缓存 [caching] 、原生类型支持 [primitives support] 、并发库 [concurrency libraries] 、通用注解 [common annotations] 、字符串处理 [string processing] 、I/O 等等。 Maven <dependency>   <groupId>com.google.guava</groupId>   <artifactId>guava</artifactId>   <version>24.1-jre</ve...

8
14
2018/02/06 09:24

谷歌的 Java 核心工具库 Guava 发布 24.0 正式版本

Guava 24.0 已正式发布,Guava 工程包含了若干被 Google 的 Java 项目广泛依赖的核心库,例如:集合 [collections] 、缓存 [caching] 、原生类型支持 [primitives support] 、并发库 [concurrency libraries] 、通用注解 [common annotations] 、字符串处理 [string processing] 、I/O 等等。 在该版本中,移除了不少弃用的方法,也增加了不少新的方法,如在网络方面,新增了 HttpHeaders.HTTP2_SETTINGS,具体更新如下: base...

6
21
发表了资讯
2017/12/21 09:35

Guava 23.6 发布,Google 的 Java 核心库

Guava 23.6 已发布,Guava 是 Google 的一个开源项目,包含许多 Google 核心的 Java 常用库,如:集合 [collections] 、缓存 [caching] 、原生类型支持 [primitives support] 、并发库 [concurrency libraries] 、通用注解 [common annotations] 、字符串处理 [string processing] 、I/O 等等。 Maven <dependency>   <groupId>com.google.guava</groupId>   <artifactId>guava</artifactId>   <version>23.6-jre</ve...

8
30
发表了资讯
2017/11/24 07:23

Guava 23.5 版本发布,Google 的 Java 核心库

Guava 23.5 已发布,Guava 是 Google 的一个开源项目,包含许多 Google 核心的 Java 常用库,如:集合 [collections] 、缓存 [caching] 、原生类型支持 [primitives support] 、并发库 [concurrency libraries] 、通用注解 [common annotations] 、字符串处理 [string processing] 、I/O 等等。 在新版中 ImmutableMap.getOrDefault 现已可以在 Android flavor 中使用。在 IO 方面,添加了Files.fileTraverser()和MoreFiles.fil...

7
24
发表了资讯
2017/11/10 07:18

Guava 23.4 版本发布,Google 的 Java 核心库

Guava 23.4 已发布,Guava 是 Google 的一个开源项目,包含许多 Google 核心的 Java 常用库,如:集合 [collections] 、缓存 [caching] 、原生类型支持 [primitives support] 、并发库 [concurrency libraries] 、通用注解 [common annotations] 、字符串处理 [string processing] 、I/O 等等。 Maven <dependency>   <groupId>com.google.guava</groupId>   <artifactId>guava</artifactId>   <version>23.4-jre</ve...

3
16
发表了资讯
2017/10/27 08:03

Guava 23.3 版本发布,Google 的 Java 核心库

Guava 23.3 已发布,Guava 是 Google 的一个开源项目,包含许多 Google 核心的 Java 常用库,如:集合 [collections] 、缓存 [caching] 、原生类型支持 [primitives support] 、并发库 [concurrency libraries] 、通用注解 [common annotations] 、字符串处理 [string processing] 、I/O 等等。 Maven <dependency>   <groupId>com.google.guava</groupId>   <artifactId>guava</artifactId>   <version>23.3-jre</ve...

4
21
发表了资讯
2017/10/12 15:48

Guava v23.2 正式发布,Google 的 Java 核心库

Guava v23.2 已发布,Guava 是 Google 的一个开源项目,包含许多 Google 核心的 Java 常用库,如:集合 [collections] 、缓存 [caching] 、原生类型支持 [primitives support] 、并发库 [concurrency libraries] 、通用注解 [common annotations] 、字符串处理 [string processing] 、I/O 等等。 该版本的更新内容如下: base: Deprecated built-in CharMatchers which cannot work as expected because the API does not supp...

12
26
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了博客
2019/12/24 15:09

guava

Guava工具类学习 一、概述 Guava是对Java API的补充,对Java开发中常用功能进行更优雅的实现,使得编码更加轻松,代码容易理解。Guava使用了多种设计模式,同时经过了很多测试,得到了越来越多开发团队的青睐。Java最新版本的API采纳了Guava的部分功能,但依旧无法替代。本文以Getting Started With Google Guava原文为学习材料,对Guava中常用的API进行学习,尽量覆盖比较有用的API,包括字符串处理,集合类处理,文件IO处理等...

0
0
发表了博客
2015/04/01 13:47

Guava学习笔记:Guava cache

  缓存,在我们日常开发中是必不可少的一种解决性能问题的方法。简单的说,cache 就是为了提升系统性能而开辟的一块内存空间。   缓存的主要作用是暂时在内存中保存业务系统的数据处理结果,并且等待下次访问使用。在日常开发的很多场合,由于受限于硬盘IO的性能或者我们自 身业务系统的数据处理和获取可能非常费时,当我们发现我们的系统这个数据请求量很大的时候,频繁的IO和频繁的逻辑处理会导致硬盘和CPU资源的瓶颈出 ...

0
1
2014/11/28 14:39

Guava库学习:学习Guava Cache(二)Guava caches(2)

链接地址:http://www.xx566.com/detail/168.html 上一篇,Guava库学习:学习Guava Cache(二)Guava caches(1)_Cache中我们简单的介绍了Guava Cache中一个最基本的接口:Cache,我们简单的了解了其中的一些方法,本篇我们继续学习Guava Cache中另外一个基本的接口:LoadingCache。接下来,我们开始,Guava库学习:学习Guava Cache(二)Guava caches(2)_LoadingCache。 LoadingCache接口扩展了Cache接口的自动装载的功能,...

0
1
发表了博客
2019/04/13 20:16

guava的重试组件Guava-Retryer【转载】

一、使用场景 在日常开发中,我们经常会遇到需要调用外部服务和接口的场景。外部服务对于调用者来说一般都是不可靠的,尤其是在网络环境比较差的情况下,网络抖动很容易导致请求超时等异常情况,这时候就需要使用失败重试策略重新调用 API 接口来获取。重试策略在服务治理方面也有很广泛的使用,通过定时检测,来查看服务是否存活( Active)。 Guava Retrying 是一个灵活方便的重试组件,包含了多种的重试策略,而且扩展起来非...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表于大前端专区
2019/05/26 10:03

guava 的 V get(K key, Callable<? extends V> loader) 在执行耗时的缓存加载期间会返回之前的缓存吗?

代码 import com.google.common.cache.Cache; import com.google.common.cache.CacheBuilder; import com.google.common.cache.CacheLoader; import com.google.common.cache.LoadingCache; import com.google.common.util.concurrent.Futures; import com.google.common.util.concurrent.ListenableFuture; import org.apache.commons.lang3.time.FastDateFormat; import java.text.ParseException; import java.u...

2
0
2019/02/20 18:58

全链路压测内存数据隔离

如题,比如有一个全局map,全链路压测中线上数据和压测数据可能都需要使用到,难道需要对内部使用对缓存都经过统一都api来进行查询和写入吗?还是mock压测数据来规避这个种问题?

1
0
发表了问答
2016/12/05 10:21

关于java使用redis的key如何生成的问题

相对查询结果进行缓存,查询的条件封装在一个Query对象里面,查询结果最后是一个JSON字符串,Query对象不是null的属性作为查询条件,希望能根据Query对象不同的属性生成key. 请问有什么高效的方法或者工具类吗?

12
1
发表了问答
2016/07/08 15:28

RateLimiter怎么做1分钟、1小时、1天...的流控?

RateLimiter使用来限制每一秒中的请求数,那么用RateLimiter怎么做1分钟、1小时、1天...的流控?

4
0
发表于运维专区
2018/06/29 10:12

#Guava#居然没有向后兼容,由其第三库再依赖guava后,极易再项目里造成jar冲突,真实头疼,请教各位大佬有没有好的处理方式

#Guava#居然没有向后兼容,由其第三库再依赖guava后,极易再项目里造成jar冲突,真实头疼,请教各位大佬有没有好的处理方式

3
0
发表了问答
2017/03/22 15:03

用guava对list分组

例如有这样一个List对象 { { "name": "张三", "age": 24, "sex": "男" }, { "name": "李四", "age": 25, "sex": "女" }, { "name": "王五", "age": 14, "sex": "男" }, { "name": "赵六", "age": 24, "sex": "女" }, { "name": "王麻子", "age": 25, "sex": "男...

2
0
发表了问答
2016/10/31 11:15

Objects.ToStringHelper为什么要Deprecated?

刚开接触guava,Objects类为什么把ToStringHelper相关类和方法Deprecated掉?看API是挪到MoreObjects类里面了,这样有啥好处?

3
0
发表了问答
2016/09/08 20:25

Android NDK 开发 打包失败 运行时报错

三个模块 sdk app fastjson app中集成sdk fastjson ,编译时都成功,运行时报错,打包失败了, NDK的配置以及build-tools都是正常的。 一天了。。心好累 MobUncaughtExceptionHandler: Couldn't load stlport_shared from loader dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/cc.rg.cpspay-1.apk"],nativeLibraryDirectories=[/data/app-lib/cc.rg.cpspay-1, /vendor/lib, /system/lib]]]: findLibrary ret...

4
0
发表了问答
2015/12/02 09:47

guava为什么会改变文件的编译方法?多了几个class文件

使用guava还是比较爽的,但是我在使用guava的过程中在方法的末尾调用了Lists.transform方法,然后发现输出路径下多了一个[XXX]$[num].class文件。[xxx]是原文件名,[num]是一个数字,用了一个Lists.transform好像就多了一个这种格式的文件,这是为什么?哪里有说明会这样吗,还是我的特例?还有别的哪些方法在编译的时候会多产生文件? 另外:我是用的guava包是guava-16.0.1,新产生的文件,看起来像是在调原来文件,实际的代码...

4
0
发表了问答
2015/05/08 23:16

用msysgit clone guava项目的源代码时连接超时?

网络已翻墙,怎么会这样?

2
0
发表了问答
2015/03/06 11:50

guava源码中方法重复问题

guava中的一些类,如Joiner中为什么会有很多完全相同的方法,如下面这个方法,就有两种不同的实现,但接口完全相同 public final String join(Iterable<?> parts)

3
0
发表了问答
2015/02/26 10:51

eclipse如何导入guava项目??

eclipse如何导入guava项目??

1
0
发表了问答
2013/07/11 10:00

google Guava Table集合 没有remove(Object key) 方法怎么办?

google Guava包中的Table集合接口木有 remove(Object rowKey) 或 remove(Object columnKey) 方法。 只有一个remove(Object rowKey, Object columnKey)方法,真是坑啊。 google的文档说Table的产生主要是解决像 Map<FirstName, Map<LastName, Person>>这样的问题。可是没有remove(Object key)方法,这是明显的缺陷。 Typically, when you are trying to index on more than one key at a time, you will wind up with something ...

8
0
发表了问答
2011/04/15 00:02

BoneCP的所需组件更换了

Requirements A database that accepts connections A driver to go with it Google Guava library, available for free from here. The SLF4J logging library. JDK1.5 or higher. 也就是说日志支持换成了SLF4J Google Collections换成了Guava 所以说明要改一下了...

1
2
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
13 评论
615 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部