工具-Guava

https://github.com/google/guava

源码包的简单说明: 
  com.google.common.annotations:普通注解类型。 
  com.google.common.base:基本工具类库和接口。 
  com.google.common.cache:缓存工具包,非常简单易用且功能强大的JVM内缓存。 
  com.google.common.collect:带泛型的集合接口扩展和实现,以及工具类,这里你会发现很多好玩的集合。 
  com.google.common.eventbus:发布订阅风格的事件总线。 
  com.google.common.hash: 哈希工具包。 
  com.google.common.io:I/O工具包。 
  com.google.common.math:原始算术类型和超大数的运算工具包。 
  com.google.common.net:网络工具包。 
  com.google.common.primitives:八种原始类型和无符号类型的静态工具包。 
  com.google.common.reflect:反射工具包。 
  com.google.common.util.concurrent:多线程工具包。

 

1. Guava 中的一致性哈希

com/google/common/hash/Hashing.consistentHash(HashCode hashCode, int buckets)

 

2. GUAVA STOPWATCH源码解析,主要用于性能监控,耗时打印

com/google/common/base/Stopwatch.java

 

3. 实战限流(guava的RateLimiter)

https://github.com/google/guava/blob/master/guava/src/com/google/common/util/concurrent/RateLimiter.java

常用的限流算法有漏桶算法和令牌桶算法,guava的RateLimiter使用的是令牌桶算法,也就是以固定的频率向桶中放入令牌,例如一秒钟10枚令牌,实际业务在每次响应请求之前都从桶中获取令牌,只有取到令牌的请求才会被成功响应,获取的方式有两种:阻塞等待令牌或者取不到立即返回失败

 

4. 布隆过滤器

在Google Guava library中Google为我们提供了一个布隆过滤器的实现:com.google.common.hash.BloomFilter。在正式使用之前我们先了解一下什么是布隆过滤器。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章