在 SpringApplication#refresh方法中,會去調用BeanDefinitionPostProcessor去進行預處理,這里有一個很重要的 processo...
在 SpringApplication#refresh方法中,會去調用BeanDefinitionPostProcessor去進行預處理,這里有一個很重要的 processo...
入口類 在了解 Spring Boot 的啟動流程的時候,我們先看一下一個Spring Boot 應用是如何啟動的,如下是一個簡單的 SpringBoot 程序,非常的簡潔,...
這個系列將以 Spring boot 2.3.x 的版本講解 Spring boot源碼,主要涵蓋整個容器的啟動過程:1、首先我們先進行源碼下載:Spring boot[ht...
接下來,我們將講解 druid pool 包以外的包解析,這次我們先從 wallFilter 開始說起,我們先來寫一個 wallFilter 的 example,首先我們需...
上一節我們挖了個坑,還剩下 poolUpdater 還沒講,我們這期接著講一下這個點,我們同樣也是從初始化方法開始: 這里邏輯很簡單,顯示檢查了 intervalSecond...
我們了解完 HighAvailableDataSource 如何使用后,我們繼續來了解他是如何運行了,我們先看一下他的初始化方法: 首選雙重檢查,防止初始化多次 HighA...
關于 HighAvailableDataSource 的介紹,我們可以看一下官方文檔[https://github.com/alibaba/druid/blob/master...
我們今天來解析一下一個簡單的 select SQL 在我們的系統的流轉流程。我們知道,執行SQL主要的流程是:開啟事務 -> 生成 PrepareStatement -> ...
我們在創建鏈接的時候會發現,返回給 Mybatis 的并不是一個簡單的 connection 而是一個 DruidPooledConnection 這里是一個我們需要注意點...
我們回頭看DataSource的接口,它里面只定義了兩個方法,如下,我們今天來分析第一個也是最重要的方法 getConnection: 1.1 具體實現 我們先看一下 Dru...
回想我們上節的內容,有兩個地方跳過了,一個是啟動創建鏈接的線程,一個是啟動銷毀鏈接的線程,我們這次就來詳細的探究一番這兩個的用途。 創建連接線程 首先我們需要回頭介紹之前沒有...
1.1 SpringAutoConfig 對于一個SpringBoot Starter 我們都會從他的 spring.factories 開始看起,因為這里定義了其配置類信息...
1.背景 druid目前是國內使用最廣泛的數據庫連接池,了解學習其源碼無疑對我們的工作有很好處,這次源碼學習主要是針對 druid 的核心功能 pool 進行分析,其中會附帶...
場景 最近生產上執行日批量一直停留到了某一天,但是卻沒有收到中斷報警,后面客戶反饋缺少統計數據才發現該問題。后面查看日志只發現了一個 java.lang.NullPointe...
作者: 一字馬胡[http://www.lxweimin.com/u/86c421886c32] 轉載標志 【2017-11-03】 更新日志 日期更新內容備注2017-1...
IO基本概念 Linux的內核將所有外部設備都可以看做一個文件來操作,而對一個文件的讀寫都是通過內核提供的系統調用,內核給我們返回一個文件描述符file descriptor...
Spring Bean的生命周期是Spring面試熱點問題。這個問題即考察對Spring的微觀了解,又考察對Spring的宏觀認識,想要答好并不容易!本文希望能夠從源碼角度入...
基于上次介紹的Rxjava 的基礎,我們今天再來聊一下 Hystrix,我們先看一下 Hystrix 整體處理流程圖: Hystrix 在設計之初主要為了解決以下問題:分布...
在講 Hystrix 插件前,我們需要先了解一下 Hystrix 的具體實現,Hystrix 限流框架基于 大名鼎鼎的 RxJava 實現,我們這節先來了解一下 RxJava...
1.8.5.1 環境準備 安裝 redis:Soul 需要集群部署,所以需要將令牌集中管理,Redis 無疑是一個很好的選擇。 在 soul admin 開啟 ratelim...