原创 分佈式系統之Redis

1.Redis 基本介紹 1.1Redis設置外網訪問 註釋bind並且把protected-mode no 使用bind 0.0.0.0 設置密碼  protected-mode它啓用的條件有兩個,第一是沒有使用bind,第二是沒有設

原创 Java高併發分析介紹

一、線程和線程池 1.線程池介紹 如果每個任務都新開一個線程,並且還需要銷燬開銷太大,不需要給每個任務都開一個線程,可以線程複用避免反覆開啓和銷燬線程; 在任務少時可以維護固定數量線程,任務多會有最大線程數以及任務隊列,動態擴容和縮容應對

原创 Java隊列之DelayQueue源碼解析

目錄 1.DelayQueue 1.1整體結構 1.2放數據 1.3拿數據 1.DelayQueue 1.1整體結構 延遲執行,並且可以設置延遲多久之後執行 隊列中元素將在過期時被執行,越靠近隊頭,越早過期 底層使用了優先級隊列來實現,複

原创 Java集合之LinkedHashMap和TreeMap源碼解析

目錄 1.TreeMap 1.1TreeMap整體架構 1.2新增節點的源碼解析 2.LinkedHashMap 2.1整體結構 2.1按照插入順序訪問 2.2訪問最少刪除原則(LRU) 1.TreeMap 1.1TreeMap整體架構

原创 Java鎖之ReentrantLock源碼解析

目錄 1.ReentrantLock 1.1整體結構 1.2ReentrantLock 構造器 1.3釋放鎖的源碼分析 1.4公平鎖源碼分析——FairSync類 1.5非公平鎖源碼解析——NonfairSync類 1.6加鎖和嘗試加鎖—

原创 WEB框架之MyBatis基礎應用

目錄 一、走進MyBatis 1.核心對象 2.MIyBatis的配置文件 3.OGNL表達式(對象圖形-映射語言) 4.生命週期和作用域 5.Mapper接口 6.參數處理 7.註解開發 8.動態SQL 二、對象關係設計 1.關聯關係

原创 分佈式系統之RabbitMq分析

1.RabbitMq 介紹 1.1爲什麼要使用消息中間件 如果沒有消息系統,訂單系統處理完成還需要自己處理庫存系統,耦合性強。 如果有了消息系統,各個系統之間可以進行解耦,實現異步處理,訂單系統處理完成後,只需要發送消息,將接下來所有

原创 WEB框架之Spring基礎應用

目錄   一、Spring基礎 1.IoC和DI的思想 如果沒有IoC(控制反轉)和DI(依賴注入),調用者需要使用某個對象,其自身就得負責該對象及該對象所依賴對象的創建和組裝; 通過IoC和DI的思想,就是將原本在程序中手動創建對象的控

原创 Java併發集合之CopyOnWriteArrayList源碼解析

目錄 1.CopyOnWriteArrayList 1.1整體架構 1.2新增方法源碼分析 1.3刪除方法的源碼分析 1.4迭代方法分析 1.CopyOnWriteArrayList 1.1整體架構 通過鎖+數組拷貝+volatile關鍵

原创 服務器之Tomcat分析

1.tomcat介紹 1.1概念 Server:接受請求並解析,完成相關任務,返回處理結果 Connector:開啓Socket並監聽客戶端請求,返回響應數據 Container:負責具體的請求處理 Engine:Container是一個

原创 Java鎖之CountDownLatch、Atomic源碼解析

1.CountDownLatch 1.1整體架構 一個線程或多個線程等待所有線程運行完畢,在繼續執行 sync 是一個同步器,是 CountDownLatch 的內部類實現 private static final class Sync

原创 Java線程之Thread、Future、FutureTask源碼解析

目錄 1.Thread 1.1start方法源碼解析 1.2初始化源碼分析 2.Future 2.1基本架構 3.FutureTask 3.1整體架構 3.2初始化源碼解析 3.3get源碼解析 1.Thread 1.1start方法源碼

原创 Java隊列之LinkedBlockingQueue源碼解析

目錄 1.LinkedBlockingQueue 1.1整體架構 1.2初始化源碼解析 1.3阻塞新增源碼解析 1.4阻塞刪除源碼分析 1.5查看元素源碼分析 1.LinkedBlockingQueue 1.1整體架構 主要實現了Bloc

原创 微機原理知識整理

第一章 微機系統導論 1.微處理器:具有運算器和控制器功能的中央處理器,也稱爲微處理機(CPU)。 2.微型計算機:以微處理器爲核心,配上存儲器、輸入輸出接口/設備及系統總線所組成的計算機。 2.1總線:地址總線AB、數據總線DB、控制總

原创 Java線程池之ThreadPoolExecutor源碼解析

目錄 0、引言 0.1任務隊列: LinkedBlockingQueue 沒有設置固定容量大小 0.2最大線程數量是: Integer.MAX_VALUE 0.3拒絕策略:不能自定義 1、ThreadPoolExecutor 1.1基本架