原创 spring源碼(二)——初探ConfigurationClassPostProcessor

前言 上一篇博客針對spring關於bean的註冊梳理到了BeanPostProcessor,同時梳理到了bean的註冊,整體看下來厚些凌亂,這篇博客會順帶回顧上篇博客的內容,然後梳理在BeanFactory中refresh操作的

原创 redis拾遺(一)——基本的數據類型

準備 安裝 Linux環境下的redis安裝,可以參考這篇博客,其中對相關配置也有提及,傳送門:redis linux 安裝。 命令別名配置 爲了啓動方便,需要配置別名的命令,否則每次都指定啓動命令,啓動的配置文件,是個很繁瑣的工

原创 Java多線程拾遺(六)——ThreadGroup初探

前言 關於ThreadGroup的話,其實使用的並不多,在沒有線程池的時代,還是用的很多,但是有些老的源碼閱讀起來還是會有線程組的影子,這裏與《Java高併發詳解 》一書保持一致,進行一個簡單的總結 線程組與線程之間的關係其實可以

原创 Java多線程拾遺(一)——重新簡單認識線程

前言 針對Java多線程,其實一直都些零散的學習,面試中多線程也是經常被問到的一塊,這次還真想認證的總結好這個,實在不想在這塊栽跟頭了。這次根據《Java 高併發編程詳解》一書進行學習和總結。 先來個簡單實例 @Slf4j pub

原创 Java多線程拾遺(四)——簡單聊聊synchronized

前言 關於synchronized的作用,以及爲什麼要有synchronized,這裏就不再總結,這裏只是總結一下synchronized中容易忽略的幾個點 synchronized的具體表現 1、synchronized提供了一

原创 Spring拾遺(二)——AOP的使用拾遺

前言 上一篇總結了一下spring ioc中一些之前不太熟悉的東西,這一篇博客繼續總結AOP,針對AOP,其實大部分主要是一些概念,這些概念能熟悉了其實AOP就算弄懂了30%,這篇博客依舊按照spring官方參考文檔來進行總結(主

原创 spring源碼(三)——@Configuration類的註冊

前言 上一篇博客中已經總結到了spring在ConfigurationClassPostProcessor類中調用ConfigurationClassParser#parse方法,開始進行配置類的解析操作,這篇博客就簡單總結一些這

原创 spring源碼(四)——@Configuration到底幹了什麼

前言 上篇博客基本梳理了一下@Configuration註解的類註冊源碼上的一些細節和流程。 一個實例 準備三個類,一個配置類,兩個普通類,其中一個普通類可以什麼都不做 @Component public class TestBe

原创 數據結構(六)——圖經典算法之Dijkstra算法

Dijkstra算法不僅是圖的經典算法,同時也是對貪心算法比較好的一個實例。 Dijkstra算法 通過Dijkstra計算圖G中的最短路徑時,需要指定起點vs(即從頂點vs開始計算)。 此外,引進兩個集合S和U。S的作用是記錄已

原创 Java多線程拾遺(三)——Thread的一些API

# 線程優先級和線程Id 進程有進程的優先級,線程也有優先級,但是優先級這個東西並不是越高的會優先執行,只是在CPU比較忙的時候,優先級較高的線程會有機會獲取更多CPU的執行時間,但是閒時並不會出現這種情況。因此在程序設計中,最好

原创 Spring拾遺(三)——ImportSelector和ImportBeanDefinitionRegistrar

在學習源碼的過程中,讀到@Import註解的時候,發現其底層有三種解析方式。進入到@Import註解中看到spring的說明如下 /** * Indicates one or more <em>component classes

原创 redis拾遺(二)——jedis連接redis

前言 上一篇博客中介紹了redis的基本數據,這篇博客就簡單介紹通過客戶端操作redis。 簡單連接實例 1、新建一個簡單的項目,在pom.xml中引入如下依賴 <dependencies> <depend

原创 Java多線程拾遺(五)——notify和wait的一些事兒

前言 同樣參考《Java高併發編程詳解》一書這篇博客開始梳理notify和wait的一些事兒。 同步阻塞與異步非阻塞 我們之前總結過什麼是同步,什麼是阻塞。但並沒有總結清楚同步阻塞與異步非阻塞的東西。《Java高併發編程詳解》一書

原创 redis拾遺(三)——發佈訂閱,事務和lua腳本

# 前言 本篇博客總結一些redis在實際中的應用實例 發佈訂閱模式 如果提到發佈訂閱模式,我們首先想到的就是消息中間件,消息中間件中有很多比較冗雜的概念。但是redis其實也可以爲我們實現一個簡易版本的發佈訂閱模式 基於list

原创 Java多線程拾遺(二)——Thread構造函數

前言 上一篇博客中我們總結了多線程的幾種狀態,已經梳理了如何簡單的構建多線程,本篇博客打算繼續梳理Thread的幾種構造函數和守護線程。 Thread的構造方法 打開Thread的源碼,發現其有如下幾個構造函數 public Th