原创 Redis的哨兵模式以及工作原理

Redis的哨兵模式以及工作原理 哨兵的作用 通過發送命令,讓Redis服務器返回監控其運行狀態,包括主服務器和從服務器。 當哨兵監測到master宕機,會自動將slave切換成master,然後通過發佈訂閱模式通知其他的從服

原创 CAS概述(簡單易懂)

CAS 文章目錄CAS概述CAS 是怎麼實現的CAS的缺點 概述 CAS(Compare-and-Swap),即比較並替換,是一種實現併發算法時常用到的技術,Java併發包中的很多類都使用了CAS技術。 一個 CAS 涉及到以下操

原创 Spring Boot 基本原理

Spring Boot 基本原理 原文查看

原创 synchronized實現原理(簡單易懂)

synchronized實現原理以及鎖升級 文章目錄synchronized實現原理以及鎖升級synchronizedsynchronized實現原理 synchronized synchronized是Java中的關鍵字,是一種

原创 AbstractQueuedSynchronizer(AQS)(詳細說明)

AQS 概述 同步器是用來構建鎖和其他同步組件的基礎框架,它的實現主要依賴一個int成員變量來表示同步狀態以及通過一個FIFO隊列構成等待隊列。它的子類必須重寫AQS的幾個protected修飾的用來改變同步狀態的方法,其他方法主

原创 多線程鎖(通俗易懂)

多線程鎖 文章目錄多線程鎖常見的鎖策略樂觀鎖 vs 悲觀鎖自旋鎖(Spin Lock)可重入鎖公平鎖與非公平鎖讀寫鎖ReentrantReadWriteLock讀鎖寫鎖鎖降級 常見的鎖策略 樂觀鎖 vs 悲觀鎖 樂觀鎖:樂觀鎖假設

原创 在Java中怎麼可以看一個對象是不是垃圾對象

在Java中怎麼可以看一個對象是不是垃圾對象 文章目錄在Java中怎麼可以看一個對象是不是垃圾對象第一、引用計數法第二、可達性分析算法第三、四種引用1、強引用2、軟引用3、弱引用4,虛引用還有一種就是重寫Object類的final

原创 垃圾收集器--CMS垃圾收集器(響應時間優先)

垃圾收集器–CMS垃圾收集器(老年代) CMS是針對於響應時間優先的垃圾收集器 老年代的CMS一般搭配兩個另外兩個垃圾收集器: 1、ParNewGC (新生代) 2、SerialOld(老年代出現異常時,CMS退化爲SerialO

原创 Java類的生命週期(類加載)

Java類的生命週期 文章目錄Java類的生命週期類加載的時機類的生命週期的七個步驟第一、加載第二、驗證第三、準備第四、解析第五、初始化 類加載的時機 在Java中有且僅有5種情況必須立即對類進行“初始化”: 1、創建類的實例(n

原创 垃圾收集器--G1垃圾收集器(全區域的垃圾收集器)

垃圾收集器–G1垃圾收集器(全區域的垃圾收集器) 文章目錄垃圾收集器--G1垃圾收集器(全區域的垃圾收集器)概述G1垃圾收集器年輕代垃圾收集老年代垃圾收集巨型對象跨代引用問題 概述 G1(Garbage First)垃圾收集器是當

原创 JVM的四種垃圾回收算法(標記清除,標記整理,複製,分代回收)

JVM中的四種垃圾回收算法 垃圾回收算法只有四種: 1、標記清除算法 2、標記整理算法 3、複製算法 4、分代回收算法 注意:這四種都是基於可達性分析算法來判斷是否爲垃圾的。 第一、標記清除算法 步驟: 1、先找到GC root

原创 JVM垃圾收集器(串行,吞吐量優先)

JVM垃圾收集器(串行,吞吐量優先) 文章目錄JVM垃圾收集器(串行,吞吐量優先)一、串行的垃圾收集器二、吞吐量優先的垃圾收集器 垃圾收集器就是內存回收的具體實現 一、串行的垃圾收集器 1、Serial收集器器(新生代收集器,串行

原创 類加載機制--雙親委派機制

類加載機制–雙親委派機制 文章目錄類加載機制--雙親委派機制類加載器雙親委派機制 說雙親委派機制之前,先來談談類加載器 類加載器 看上述圖之後,就知道類加載器有四類: 1、啓動類加載器(Bootstrap ClassLoader

原创 數據庫索引(Hash和B+)

數據庫索引(Hash和B+) 我們知道數據庫索引有兩種方式 第一:Hash表 第二:B+樹 Hash表 哈希索引(hash index)基於哈希表實現,只有精確匹配索引所有列的查詢纔有效。對於每一行數據,存儲引擎都會對所有的索引列

原创 MySQL數據庫鎖的機制

文章目錄MySQL數據庫鎖的機制樂觀鎖和悲觀鎖共享鎖:排它鎖:數據庫鎖的本質 MySQL數據庫鎖的機制 數據庫的鎖按照不同的方式進行分類是不同的。 樂觀鎖和悲觀鎖 樂觀鎖: 概念:數據庫總是認爲多個數據庫併發操作不會發生衝突,所