工具-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。在正式使用之前我們先了解一下什麼是布隆過濾器。

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