原创 Nacos server事件分發EventDispatcher代碼小結

EventDispatcher類,作爲事件分發器。 AbstractEventListener靜態內部抽象類,繼承該類後實例化的子類,將在該類中的構造方法被註冊到EventDispatcher中,這一點以前我沒有想到,挺好的寫法,設計模式

原创 一個SpringBoot裏邊函數式編程的例子

爲什麼寫 因爲看到了SpringBoot一個關於函數式編程的完美例子,以前很少用到,但是寫的真是太美了,就像美女一樣,真養眼。 先看下lambda常用的函數接口 接下來看看她長什麼樣子 public final class Prope

原创 sentinel責任鏈

官網說明: 在 Sentinel 裏面,所有的資源都對應一個資源名稱(resourceName),每次資源調用都會創建一個 Entry 對象。也就是說Entry是和訪問線程綁定的。 Entry 可以通過對主流框架的適配自動創建,也可以通過

原创 通過反編譯後的字節碼理解cglib代理

代碼例子:實驗過程final類不可被代理報錯:Cannot subclass final class class javaDemo.proxyDemo.CGlibTestClass。 另外final方法沒有被代理。 package ja

原创 回顧篇-mysql索引

磁盤基本概念 磁盤由大小相同且同軸的圓形盤片組成,磁盤的一側有磁頭支架,磁頭支架固定了一組磁頭,每個磁頭負責存取一個磁盤的內容。磁盤塊/簇(虛擬出來的)。 塊是操作系統中最小的邏輯存儲單位。操作系統與磁盤打交道的最小單位是磁盤塊。 通俗的

原创 Collections.sort實現算法的簡單理解——Timsort

實驗例子: @Test public void printListIntegerSort() { List<Integer> list = new ArrayList(); list.add(1

原创 回顧篇-mysql索引-讀書筆記

    事務日誌 事務日誌可以幫助提高事務的效率。使用事務日誌,存儲引擎在修改表的數據時只需要修改其內存拷貝,再把該修改行爲記錄到持久在硬盤上的事務日誌中,而不用每次都將修改的數據本身持久到磁盤。事務日誌採用的是追加的方式,因此寫日誌的操

原创 使用常見的反應式操作

import lombok.Data; import org.junit.Test; import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; i

原创 通過反編譯後的字節碼理解jdk代理

一:使用例子 public class ProxyDemo implements InvocationHandler { static ProxyDemo proxyDemo = new ProxyDemo();

原创 關於Springboot Transactional cglib代理生成過程

一:候選代理器candidateAdvisors的準備 當創建bean實例準備實例化initializeBean的時候,會進行後置處理器的調用,其中AbstractAdvisorAutoProxyCreator是特定bean構建AOP代理

原创 Synchronized和Lock的簡單理解

1:AQS是什麼 AQS是構建鎖和同步器的框架,ReentrantLock ,Semaphore,CountDownLatch,ReentrantReadWriteLock,SynchronousQueue,FutrueTask都是基於A

原创 對於同步和非同步,阻塞和非阻塞,BIO,NIO的概念的回顧

同步和異步 同步和異步其實是指CPU時間片的利用,主要看請求發起方對消息結果的獲取是主動發起的,還是被動通知的,如下圖所示。如果是請求方主動發起的,一直在等待應答結果(同步阻塞),或者可以先去處理其他事情,但要不斷輪詢查看發起的請求是否有

原创 關於DirectByteBuffer直接堆外內存釋放的理解

基本概念: JVM可以使用的內存分外2種:堆內存和堆外內存,堆內存完全由JVM負責分配和釋放,如果程序沒有缺陷代碼導致內存泄露,那麼就不會遇到java.lang.OutOfMemoryError這個錯誤。使用堆外內存,就是爲了能直接分配和

原创 探究Spring Cloud Ribbon默認負載均衡策略實現的過程

1: 簡介 Spring Cloud Ribbon是一個基於HTTP和TCP的客戶端負載均衡工具,它基於Netflix Ribbon實現。那麼哪些路由配置會走負載均衡器呢?答案是配置具有lb://服務名,這樣的配置會走,因爲LoadBal

原创 Netty4簡單認知

Channel簡介 在Netty中,Channel相當於一個Socket的抽象,它爲用戶提供了關於Socket狀態(是連接還是斷開)及對Socket的讀、寫等操作。每當Netty建立了一個連接,都創建一個與其對應的Channel實例。 C