原创 Redisson分佈式鎖學習總結:可重入鎖 RedissonLock#unlock 釋放鎖源碼分析

原文鏈接:Redisson分佈式鎖學習總結:可重入鎖 RedissonLock#unlock 釋放鎖源碼分析 一、RedissonLock#lock 源碼分析 1、根據鎖key計算出 slot,一個slot對應的是redis集羣的一個節點

原创 Redisson分佈式鎖學習總結:可重入鎖 RedissonLock#lock 獲取鎖源碼分析

原文:Redisson分佈式鎖學習總結:可重入鎖 RedissonLock#lock 獲取鎖源碼分析 一、RedissonLock#lock 源碼分析 1、根據鎖key計算出 slot,一個slot對應的是redis集羣的一個節點 redi

原创 Redisson分佈式鎖學習總結:公平鎖 RedissonFairLock#unLock 釋放鎖源碼分析

原文鏈接:Redisson分佈式鎖學習總結:公平鎖 RedissonFairLock#unLock 釋放鎖源碼分析 一、RedissonFairLock#unlock 源碼分析 上一篇講到,RedissonFairLock 它主要是基於 R

原创 Redisson分佈式鎖學習總結:公平鎖 RedissonFairLock#lock 獲取鎖源碼分析

原文鏈接:Redisson分佈式鎖學習總結:公平鎖 RedissonFairLock#lock 獲取鎖源碼分析 一、RedissonFairLock#lock 源碼分析 public class RedissonFairLockDemo {

原创 MySQL學習總結:提問式回顧 undo log 相關知識

原文鏈接:MySQL學習總結:提問式回顧 undo log 相關知識 1、redo 日誌支持恢復重做,那麼如果是回滾事務中的操作呢,也會有什麼日誌支持麼? 也回滾已有操作,那麼就是想撤銷,對應的有撤銷日誌,也叫做 undo log。 un

原创 提問式複習:圖文回顧 redo log 相關知識

原文鏈接:提問式複習:圖文回顧 redo log 相關知識 1、如何提升 redo日誌 的寫性能? 爲了保證 redo日誌 不丟失,會在磁盤中開闢一塊空間將日誌保存起來。但是這樣會有一個問題,磁盤的讀寫性能非常的差。 所以 redo日誌

原创 Pulsar の 保證消息的順序性、冪等性和可靠性

原文鏈接:Pulsar の 保證消息的順序性、冪等性和可靠性 一、背景 前面兩篇文章,已經介紹了關於Pulsar消費者的詳細使用和自研的Pulsar組件。 接下來,將簡單分析如何保證消息的順序性、冪等性和可靠性;但並不會每個分析都會進行代碼

原创 自研 Pulsar Starter:winfun-pulsar-spring-boot-starter

原文:自研 Pulsar Starter:winfun-pulsar-spring-boot-starter 里程碑 版本 功能點 作者 完成 1.0.0 支持PulsarTemplate發送消息&支持自定義註解實例化Cons

原创 深入Pulsar Consumer的使用方式&源碼分析

原文鏈接 1、使用前準備 引入依賴: <dependency> <groupId>org.apache.pulsar</groupId> <artifactId>pulsar-client</artifactId>

原创 線上BUG:MySQL死鎖分析實戰

原文鏈接:線上BUG:MySQL死鎖分析實戰 1 線上告警 我們不需要關注截圖中得其他信息,只要能看到打印得org.springframework.dao.DeadlockLoserDataAccessException就足夠了,就是MyS

原创 2021-07-01閱讀小筆記:Spring ioc 之組件掃描

1、包掃描指定掃描路徑的方式有幾種?分別如何指定? 我們可以利用@ConponentScan註解對指定路徑下的組件進行掃描,然後注入到Spring容器中。 指定掃描路徑有兩種方式:指定包路徑和指定類 1.1 指定包路徑 例子: @Compo

原创 2021-06-13:G1垃圾回收器

原文鏈接 2021-06-13:G1垃圾回收器 1、爲啥需要G1 在 G1 出來之前,一般系統都是使用 ParNew + CMS。而不管是 ParNew 還是 CMS,對於新生代和老年代都是使用滿了再進行gc,那麼如果我們的機器配置了60G

原创 Dubbo原理剖析 之 @DubboReference.version設置爲*

原文鏈接 Dubbo原理剖析 之 @DubboReference.version設置爲* 1 背景 Dubbo在消費端提供了一個功能,即將消費者的版本號指定爲*,那麼不管服務端的接口版本是啥,都可以調用成功。 2 初步猜測: dubbo接口

原创 2021-04-09閱讀小筆記:JDK8中的一等公民和Stream小概念

1 一等公民和二等公民 在 jdk8之前,只有值(基本類型和實例引用)是一等公民,可以作爲方法參數傳遞,而類和方法等是作爲二等公民,不能作爲方法的傳參。 jdk8中,方法也可以作爲一等公民傳遞,即方法(函數)可以作爲方法參數傳遞,這稱爲函數

原创 2021-04-05閱讀小筆記:局部性原理

原文鏈接:2021-04-05閱讀小筆記:局部性原理 1 指導解決併發問題的兩大原理 有兩個理論可以指導我們處理高併發的問題:阿姆達爾定律和局部性定律。 1.1 阿姆達爾定律: 在並行計算中用多處理器的應用加速受限於程序所需的串行時間百分比