原创 Spring源碼-IOC

1、概述 IoC 全稱爲 Inversion of Control,翻譯爲 “控制反轉”,它還有一個別名爲 DI(Dependency Injection),即依賴注入。 在傳統的開發模式下,我們都是採用直接 new 一個對象的方式來創

原创 zookeeper學習筆記(1)-Leader選舉之FastLeaderElection

1、概述 選舉的父接口爲Election,其定義了lookForLeader和shutdown兩個方法,lookForLeader表示尋找Leader,shutdown則表示關閉,如關閉服務端之間的連接。   AuthFastLeader

原创 redis設計與實現-數據庫

1.概述 Redis服務器將所有的數據庫都保存在redis.h/redisServer結構的db數組中,db數組每個項都是一個redis.h/redisDb結構,每個redisDb代表一個數據庫。 默認情況下dbNum=16,所以Redi

原创 redis設計與實現-RDB與AOF持久化

1.概述 Redis的持久化分爲兩種:RDB(redis database)與AOF(Append Only File)。   RDB: 在指定的時間間隔內將內存中的數據集快照寫入磁盤,或者手動執行SAVE\BGSAVE進行持久化操作。

原创 java併發 - JUC之線程池的基礎架構

java併發 - JUC之線程池的基礎架構

原创 java併發 - JUC之AQS

java併發 - JUC之AQS

原创 java併發 - JUC之基礎類型

1、AtomicInteger 2、AtomicLong 3、ConcurrentHashMap

原创 redis設計與實現-壓縮列表

1.概述 redis中的hash,list,zset在數據量小的時候都使用壓縮列表ziplist。 2.壓縮列表的實現 問題:添加和刪除節點可能引發連鎖更新問題 3.總結 壓縮列表就是對每個節點都記錄:前一個節點長度、encoding、

原创 java併發 - JUC之Condition

java併發 - JUC之Condition

原创 redis設計與實現-整數集合

1.概述 整數集合(intset)並不是一個基礎的數據結構,而是Redis自己設計的一種存儲結構,是集合鍵的底層實現之一,當一個集合只包含整數值元素,並且這個集合的元素數量不多時, Redis就會使用整數集合作爲集合鍵的底層實現。 2.整

原创 java併發 - JUC之ReentrantLock&ReentrantReadWriteLock

java併發 - JUC之ReentrantLock&ReentrantReadWriteLock

原创 java併發 - CAS

1. 概述 CAS ,Compare And Swap ,即比較並交換。整個 AQS 同步組件、Atomic 原子類操作等等都是基 CAS 實現的,甚至 ConcurrentHashMap 在 JDK 1.8 的版本中,也調整爲 CAS

原创 redis設計與實現-鏈表

1.鏈表與鏈表節點的實現  

原创 redis設計與實現-跳躍表

1.概述

原创 redis設計與實現-字典

1.概述 2.