原创 【簡寫MyBatis】01-簡單映射器

前言 新開一個坑,爲了學習一下MyBatis的源碼,寫代碼是次要的,主要爲了吸收一下其中的思想和手法。 目的 關聯對象接口和映射類的問題,把 DAO 接口使用代理類,包裝映射操作。 知識點 動態代理 簡單工廠模式 InvocationHa

原创 【SpringBootStarter】自定義全局加解密組件

【SpringBootStarter】 目的 瞭解SpringBoot Starter相關概念以及開發流程 實現自定義SpringBoot Starter(全局加解密) 瞭解測試流程 優化 最終引用的效果: <dependency>

原创 OKR工作法閱讀總結

雖然OKR工作法的妙處在於幫助團隊達成目標、激發團隊潛能,但在我看來這套方法同樣適用於“促進個人工作和學習目標的完成”。 什麼是OKR,步驟,關鍵點 O表示目標(Objective),KR表示關鍵結果(Key Results)。目標就是你想

原创 【Nacos篇】Nacos基本操作及配置

官方文檔:https://nacos.io/zh-cn/docs/v2/ecology/use-nacos-with-spring-cloud.html 前置條件:SpringCloud腳手架 單機模式下的Nacos控制檯: <depen

原创 【進階玩法】策略+責任鏈+組合實現合同簽章

前置內容 掌握策略模式 掌握責任鏈模式 掌握類繼承、接口的實現 掌握參數的傳遞與設置 GitHub地址 ps:【文章由來】公司項目中所用的合同簽章處理流程,本人基於責任鏈上使用策略模式進行優化。 簽章的處理流程 合同文本初始化 合同文

原创 註解實現:判空賦值

工作中的小玩意~~ 流程: 註解實現 反射工具類 註解定義及實現 註解定義: @Documented @Target(ElementType.FIELD) @Retention(RetentionPolicy.RUNTIME) publ

原创 【源碼分析】XXL-JOB的執行器的註冊流程

目的:分析xxl-job執行器的註冊過程 流程: 獲取執行器中所有被註解(@xxlJjob)修飾的handler 執行器註冊過程 執行器中任務執行過程 版本:xxl-job 2.3.1 建議:下載xxl-job源碼,按流程圖debug調

原创 Mybatis應用手冊

重學mybatis框架,匯成應用手冊,整理mybatis中用法且附相關實例,方便日常回顧 目錄結構: ----------------- Github手冊地址:https://github.com/xbhog/MyBatisAppManu

原创 【Redis場景5】集羣秒殺優化-分佈式鎖

集羣環境下的秒殺問題 前序 【Redis場景1】用戶登錄註冊 【Redis場景2】緩存更新策略(雙寫一致) 【Redis場景3】緩存穿透、擊穿問題 【Redis場景拓展】秒殺問題-全局唯一ID生成策略 【Redis場景4】單機環境下秒殺問題

原创 【Redis場景4】單機環境下秒殺問題

單機環境下的秒殺問題 全局唯一ID 爲什麼要使用全局唯一ID: 當用戶搶購時,就會生成訂單並保存到訂單表中,而訂單表如果使用數據庫自增ID就存在一些問題: 受單表數據量的限制 id的規律性太明顯 場景分析一:如果我們的id具有太明顯的規

原创 【Redis場景拓展】秒殺問題-全局唯一ID生成策略

全局唯一ID 爲什麼要使用全局唯一ID: 當用戶搶購時,就會生成訂單並保存到訂單表中,而訂單表如果使用數據庫自增ID就存在一些問題: 受單表數據量的限制 id的規律性太明顯 場景分析一:如果我們的id具有太明顯的規則,用戶或者說商業對手

原创 【Redis場景3】緩存穿透、擊穿問題

場景問題及原因 緩存穿透: 原因:客戶端請求的數據在緩存和數據庫中不存在,這樣緩存永遠不會生效,請求全部打入數據庫,造成數據庫連接異常。 解決思路: 緩存空對象 對於不存在的數據也在Redis建立緩存,值爲空,並設置一個較短的TT

原创 【Redis場景2】緩存更新策略(雙寫一致)

在業務初始階段,流量很少的情況下,通過直接操作數據是可行的操作,但是隨着業務量的增長,用戶的訪問量也隨之增加,在該階段自然需要使用一些手段(緩存)來減輕數據庫的壓力;所謂遇事不決,那就加一層。 在當前技術棧中,redis當屬緩存的第一梯隊了

原创 【環境搭建】RocketMQ集羣搭建

前置條件及效果圖 條件: 兩臺服務器,個人是兩臺騰訊雲服務器(其中嫖的朋友一個); 版本: rocketmq-version:4.4.0 rocketmq-console(mq控制檯) Java:1.8 maven:3.6.3 集羣模

原创 【Redis場景1】用戶登錄註冊

細節回顧: 關於cookie和session不熟悉的朋友; 建議閱讀該博客:https://www.cnblogs.com/ityouknow/p/10856177.html 執行流程: 在單體模式下,一般採用這種模式來存儲,傳遞、認證用