原创 ZooKeeper源碼分析之服務端啓動和Leader選舉 v1.0

第一節 參考 1.參考 https://blog.csdn.net/zhangyuan19880606/article/details/51508294 https://blog.csdn.net/chinaCsdnV2/article/

原创 spring源碼分析之架構和Refresh v1.0

第一節 參考 一.參考 <從零開始寫javaweb框架> <Spring源碼深度解析> https://blog.csdn.net/u010723709/article/details/47185959 https://blog.csdn

原创 Mybatis源碼分析 v1.0

第一節 參考 一.參考資料 https://github.com/mybatis/mybatis-3 mybatis的單元測試用的hsqldb數據庫,需要自己建個單元測試用例, 連接mysql.我的測試用例如下圖所示. 第二節 架構

原创 dubbo源碼之啓動、導出服務 v1.0

一.參考 二.架構 (一)分層架構 參考官網架構圖 http://dubbo.apache.org/books/dubbo-dev-book/design.html 從消費端來說,從上到下依次是 1.Service層,用戶定義的業務接口

原创 java 架構師知識體系 & 常見面試題

第一部分 操作系統 1.操作系統有哪些io模型 https://blog.csdn.net/sinat_34990639/article/details/52778562 2.幾種進程間的通信方式:管道,信號,消息,信號量,共享內存,so

原创 MySQL 源碼分析 v2.0

第一節 mysql編譯 (一).參考 https://blog.jcole.us/innodb/ https://www.cnblogs.com/zengkefu/p/5674503.html https://dev.mysql.com/

原创 java版狀態機Squirrel源碼分析

第一節 參考 https://github.com/hekailiang/squirrel https://segmentfault.com/a/1190000009906469 第二節 狀態機理論 一.應用範圍 訂單狀態/合同規則狀態切

原创 litemall商城源碼分析v0.1

第一節 參考 https://linlinjava.gitbook.io/litemall/ https://github.com/linlinjava/litemall 輕商場-web前端(前端litemall-vue,後端litema

原创 redis源碼分析 v1.0

第一節.參考  https://www.cnblogs.com/davidwang456/articles/9294912.html https://blog.csdn.net/BigRat_WH/article/details/8864

原创 dubbo源碼之動態擴展 v1.0

一.參考 dubbo啓動,使用spi動態擴展的地方參考之前寫的<dubbo源碼之啓動、導出服務> 二.架構 1.每個接口或者ExtensionFactory都對應一個ExtensionLoader。對接口主要有四步操作: (1).獲取接口

原创 spring源碼分析之Bean創建及加載 v1.0

第一節 參考 spring架構,Bean創建加載前的過程參考<spring源碼分析之架構和Refresh> 第二節 架構 如下圖 三步操作:創建對象,填充成員,調用初始化方法 三種回調:InstantiationAwareBeanPo

原创 Proxy動態代理源碼分析

第一節 參考 問題: 1.創建$Proxy0類源碼的位置在哪兒? 2.如果被代理對象實現多個接口,如何區分哪些接口代理,哪些不代理? 第二節 架構 1.在Proxy.newProxyInstance()中創建生成對象,生成對象需要實現目標

原创 HashMap JDK1.8源碼分析 v0.1

第一節 參考 1. https://segmentfault.com/a/1190000012728513 第二節 架構 一.關注點 1.jdk1.7以前使用數組,鏈表實現.1.8之後使用數組,鏈表,紅黑樹. 2.threshold=ca

原创 ClassLoader 源碼分析

一.參考 二.架構 三.源碼分析 測試用代碼 public static void main(String[] args) { try { ClassLoaderTest test = new ClassLoad

原创 JAVA SPI ServiceLoader源碼分析

第一節 參考 第二節 架構 第三節 源碼細節 一.ServiceLoader初始化 ServiceLoader.load(),代碼只有一行,new 一個ServiceLoader對象, private ServiceLoader(Cla