BiMap
MultiMap
Table
MultiSet
RangeMap
一、簡單介紹: CaffeineCache和Guava的Cache是應用廣泛的本地緩存。 在開發中,爲了達到降低依賴、提高訪問速度的目的。會使用它存儲一些維表接口的返回值和數據庫查詢結果,在有些場景下也會在分佈式緩存上再加上一層本地緩存,
一.背景 性能優化是一場永無止境的旅程。 到家門店系統,作爲到家核心基礎服務之一,門店C端接口有着調用量高,性能要求高的特點。 C端服務經過演進,核心接口先查詢本地緩存,如果本地緩存沒有命中,再查詢Redis。本地緩存命中率99%,服務性能
一.背景 性能優化是一場永無止境的旅程。 到家門店系統,作爲到家核心基礎服務之一,門店C端接口有着調用量高,性能要求高的特點。 C端服務經過演進,核心接口先查詢本地緩存,如果本地緩存沒有命中,再查詢Redis。本地緩存命中率99%,服務性
我從畢業做程序員就開始用 Java,到現在已經工作快 20 年了。減去我做手遊用 C++、Lua 的幾年,再減去後來轉管理寫代碼少的時間,我真正寫 Java 代碼的時間至少也在 10 年以上。 如果你問我“Java 已經精通了嗎?”,說實話
一、引言 “老婆”和“媽媽”同時掉進水裏,先救誰? 常言道:編碼五分鐘,解衝突兩小時。作爲Java開發來說,第一眼見到ClassNotFoundException、NoSuchMethodException這些異常來說,第一反應就是排包。
前言 備受爭議的Lombok,有的人喜歡它讓代碼更整潔,有的人不喜歡它,巴拉巴拉一堆原因。在我看來Lombok唯一的缺點可能就是需要安裝插件了,但是對於業務開發的項目來說,它的優點遠遠超過缺點。 ❝ 我們可以看一下,有多少項目使用
<dependency> <groupId>com.github.rholder</groupId> <artifactId>guava-retrying</artifactId> <version>2.0
從0到1架構項目 一、架構的理解 架構是業務、技術開展工作指導,優秀的架構在系統可以輕鬆面對各種的不確定(系統不可靠、網絡不可靠、業務快速發展、需求變更),良好的設計可以規避大量技術債,在技術轉型、業務轉型中發揮重要作用。 架構是開發工作綱
問題: Imagine that I have this class:想象一下,我有這個類: public class Test { private String[] arr = new String[]{"1","2"};
Guava提供的RateLimiter可以限制物理或邏輯資源的被訪問速率,咋一聽有點像java併發包下的Samephore,但是又不相同,RateLimiter控制的是速率,Samephore控制的是併發量。 RateLimiter的原理類
下載地址:https://downloads.apache.org/hive/hive-3.1.2/ 解壓在指定目錄 tar -zxvf /opt/software/apache-hive-3.1.2-bin.tar.gz -C /op
ListenableFuture是可以監聽的Future,它是對Java原生的Future進行了拓展和增強。在java中Future表示一個多線程異步執行的任務,當任務執行完成之後可以得到一個計算結果。如果我們希望一旦計算完成之後就可以拿到
Java8新的異步編程方式 CompletableFuture 緣起: 一、Future java5引入了Future模式。Future接口是Java多線程Future模式的實現,在java.util.concurrent包中,可以
限流分類 限流的實現方案有很多種,磊哥這裏稍微理了一下,限流的分類如下所示: 合法性驗證限流:比如驗證碼、IP 黑名單等,這些手段可以有效的防止惡意攻擊和爬蟲採集; 容器限流:比如 Tomcat、Nginx 等限流手段,其中 Tomca
//初始化緩存 cache = CacheBuilder.newBuilder() .maximumSize(picInfoCacheMaximumSize)