标签 "Guava" 相关文章
总计 5 页,当前第 1 页
问题Google 的 Java 工具包 Guava,确实很好用,特别是其中的 GuavaCache 算是经常使用到的本地缓存,这次需求是希望在 xxx min 之后做一个延时操作,虽然可以开一个定时任务做,但是由于当时代码里正好使用到了 GuavaCache,想起来可以基于 Key 的过期做一个回调方法不就行了嘛,猜测 GuavaCache 肯定是支持这样的回调 API 的,一查果然如此。于是乎,代码写得很快,如下:private&nb...
5年前 (2020-05-30)
阅读(3164)
赞一个 (0 )
链接直达
一、什么是 GuavaGuava 工程包含了若干被 Google 的 Java 项目广泛依赖的核心库,例如:集合【collections】、缓存【caching】、原生类型支持【primitives support】、并发库【concurrency libraries】、通用注解【common annotations】、字符串处理【string processing】、I/O 和 验证等等。所有这些工具每天都在被 Google...
6年前 (2019-02-26)
阅读(4645)
赞一个 (1 )
链接直达
Guava Optional 类Optional 用于包含非空对象的不可变对象。 Optional对象,用于不存在值表示null。这个类有各种实用的方法,以方便代码来处理为可用或不可用,而不是检查null值。一、类声明以下是 com.google.common.base.Optional<T> 类的声明:@GwtCompatible(serializable = true)
publ...
6年前 (2019-02-26)
阅读(4352)
赞一个 (2 )
链接直达
Guava Objects 类Objects 类提供适用于所有对象,如 equals、hashCode 等辅助函数。在 Java7 之后提供了 Objects 类,Guava 逐步向 Java 自带的 Objects 替换。一、类声明以下是 com.google.common.base.Objects 类的声明:@GwtCompatible
public final clas...
6年前 (2019-02-26)
阅读(3126)
赞一个 (1 )
链接直达
Guava 前置条件 Preconditions 类Preconditions 提供静态方法来检查方法或构造函数,被调用是否给定适当的参数。它检查的先决条件。其方法失败抛出 IllegalArgumentException。可以简单理解为 guava 提供的 assert 断言。一、类声明以下是 com.google.common.base.Preconditions 类的声明:@GwtCompa...
6年前 (2019-02-26)
阅读(4056)
赞一个 (2 )
链接直达
Guava 强大的 Ordering 排序类排序器 Ordering 是 Guava流畅风格比较器 Comparator 的实现,它可以用来为构建复杂的比较器,以完成集合排序的功能。从实现上说,Ordering 实例就是一个特殊的 Comparator 实例。Ordering 把很多基于 Comparator 的静态方法(如 Collections.max)包装为自己的实例方法(非静态方...
6年前 (2019-02-26)
阅读(4433)
赞一个 (1 )
链接直达
Guava Range 类一、Range 简介Range 表示一个间隔或一个序列。它被用于获取一组数字/串在一个特定范围之内。可比较类型的区间API,包括连续和离散类型。Range 定义了连续跨度的范围边界,这个连续跨度是一个可以比较的类型(Comparable type)。比如1到100之间的整型数据。在数学里面的范围是有边界和无边界之分的;同样,在Guava中也有这个说法。如果这个范围是有边界的,那么这个范围又可以分为包括...
6年前 (2019-02-26)
阅读(8718)
赞一个 (1 )
链接直达
Guava Throwables 类Throwable 类,简化异常和错误的传播与检查1、类声明以下是 com.google.common.base.Throwables 类的声明:@GwtCompatible(emulated=true)
public final class Throwables
extends Objec...
6年前 (2019-02-26)
阅读(4660)
赞一个 (0 )
链接直达
Guava StopWatch 计时器StopWatch 用来计算经过的时间(精确到纳秒)。这个类比调用 System.nanoTime() 优势在于:性能表现形式更丰富一、类声明以下是 com.google.common.base.Stopwatch 类的声明:@GwtCompatible(emulated=true)
public final class&nbs...
6年前 (2019-02-26)
阅读(13168)
赞一个 (0 )
链接直达
Guava 集合工具Guava引进了JDK里没有的,但是非常有用的一些新的集合类型。所有这些新集合类型都能和JDK里的集合平滑集成。本篇文章只是简单介绍到了很少一部分,还有很多子类需要逐步使用过程中去探索。一、Guava 新集合集合名称说明Multiset把重复的元素放入一个集合。Multimap一个 key 对应多个 value。BiMapkey 和 value 都不能重复。Table表代表一个特殊的图,其中两个键可以在组合的方式被指...
6年前 (2019-02-26)
阅读(2874)
赞一个 (0 )
链接直达
Multiset —— 把重复的元素放入集合一、接口声明以下是 com.google.common.collect.Multiset<E> 接口的声明:@GwtCompatible
public interface Multiset<E> extends Collection<E>二、接口方法官方文档:https://google.gith...
6年前 (2019-02-26)
阅读(3425)
赞一个 (0 )
链接直达
Bimap —— 双向关联的数据结构一、Bitmap 介绍在 Java 集合类库中有个 Map,它的特点是存放的键(Key)是唯一的,而值(Value)可以不唯一,如果我们需要键(Key)和值(Value)都唯一,该怎么实现?这就是今天要谈的BiMap结构,它允许我们可以通过特定的 value 获取 key 值。在过去,如果需要将Map结构中的键值对反转(也就是 key->value 转变成 valu...
6年前 (2019-02-26)
阅读(4126)
赞一个 (0 )
链接直达