原创 SpringCache源碼解析

背景 Cache接口 CacheManager接口 AOP

原创 java8 streams學習筆記

java8 streams 學習筆記 什麼是流 Stream 不是集合元素,它不是數據結構並不保存數據,它是有關算法和計算的,它更像一個高級版本的 Iterator。原始版本的 Iterator,用戶只能顯式地一個一個遍歷元素並對

原创 Redis學習圖譜

下圖展示了redis所有知識點,我覺得很好,先收藏一波。redis學習總結見我另一篇文章,有詳細學習總結

原创 Slf4j的實現原理

埋坑

原创 completableFuture原理及使用

背景 Java8函數式編程函數 CompleStage接口方法介紹及分類 CompletableFuture實現原理及源碼 優點和缺點 參考 點贊 收藏 分享 文章舉報

原创 Java實現Serializable接口的場景

背景 定義 java類需要實現Serializable接口的場景 爲什麼REST接口的對象不需要實現Serializable 參考文檔 https://tech.meituan.com/2015/02/26/serializat

原创 DAG有向無環圖

參考:https://ctolib.com/yueyunyue-liteflow.html DAG有向無環圖:https://blog.csdn.net/yanwumuxi/article/details/67633766 算法精

原创 分佈式系統的一致性探討

1 背景 一致性是一個抽象的、具有多重含義的計算機術語,在不同應用場景下,有不同的定義和含義。在傳統的IT時代,一致性通常指強一致性,強一致性通常體現在你中有我、我中有你、渾然一體;而在互聯網時代,一致性的含義遠遠超出了它原有的含義,在我

原创 DDD和SOA及微服務

微服務架構有哪些模型?中臺、領域驅動設計及微服務之間有着什麼樣的關係?微服務的邊界設計怎麼做?怎麼做設計和拆分?且看作者爲你娓娓道來。 借用當下最流行的段子做個開場白。 “設計原則千萬條,高內聚低耦合第一條,架構設計不規範,開發運維兩

原创 從類加載到JavaSPI

List item

原创 詳解G1垃圾回收器

背景 埋坑

原创 HashMap源碼解析

埋坑 這個必須寫 1,hash方法 問:爲何擴容是翻倍(乘以2) 2,get方法 3,put方法 問:爲什麼hash值衝突後,list變爲紅黑樹的節點是8? 4,rehash方法

原创 ThreadLocal徹底搞懂

前言 ThreadLocal的實現機制不復雜,它將自身實例作爲key,和需要保存的value一起存入到當前線程的一個map當中,代碼可以簡單的描寫爲(當然實際的代碼並不是這樣): Thread.currentThread().thre

原创 數據結構中關於樹的總結

前言 一直對數據結構中的各種樹沒有分清楚,最近下決心學習總結下來。 首先需要了解二叉樹,滿二叉樹,完全二叉樹等概念,這些在本文不做贅述。 二叉排序樹 又名二叉搜索樹/二叉查找樹。它的特性是: 若左子樹不空,則左子樹上所有結點的值均小

原创 程序員必須知道的一些二進制知識

二進制的位操作(java) 向左移位 向左移位就是在尾部添加一位0 即十進制*2,數字翻倍 8<<1 = 16//左移 向右移位 向右移位就是去掉尾部一位。即將數字除以2並求整數商的操作。 8>>>2 =2//右移 位或 二進制按