原创 MySQL中的MVCC實現機制
MySQL中的MVCC實現機制 一、什麼是MVCC? MVCC,全稱Multi-Version Concurrency Control,即多版本併發控制。MVCC是一種無鎖的併發控制方法,一般在數據庫管理系統中,用於實現對數
原创 配置動態刷新@RefreshScope引起的取值爲null
配置動態刷新@RefreshScope引起的取值爲null 在Spring Cloud Config 動態刷新demo編寫中,分爲三個步驟: 1)git端配置更改,代碼提交 2)手動刷新配置: POST請求: http://local
原创 Redis zset 底層結構
Redis zset 底層結構 概要 在 Redis 的五種主要數據類型中,zset(有序集合)類型可能是最複雜,但也是最強大的一種。zset 不僅可以存儲鍵值對,還可以爲每個元素分配一個分數,然後根據這個分數進行排序。這使得
原创 Java併發編程之CAS原理分析
Java併發編程之CAS原理分析 在併發編程中,我們經常需要處理多線程對共享資源的訪問和修改。那麼如何解決併發安全呢? 一. 解決併發安全問題的方案 最粗暴的方式就是使用 synchronized 關鍵字了,但它是一種獨佔形式的鎖,屬於悲觀
原创 什麼是ConcurrentHashMap?不同JDK下ConcurrentHashMap的區別?
什麼是ConcurrentHashMap?不同JDK下ConcurrentHashMap的區別? 一、HashMap線程安全 我們知道,在併發情況下,使用HashMap會有線程安全的問題,那麼如何避免呢? 想要避免Hash
原创 分佈式、集羣和微服務之間的區別
分佈式、集羣和微服務之間的區別 分佈式系統是一種系統範式,而分佈式架構是一種系統設計的方法論。它們的含義在某些情況下可能會重疊,但在其他情況下可能會有細微的區別。 分佈式系統 1. 分佈式系統概念是指由多個相互獨立的節點(
原创 設計模式-模板方法模式(Template Method Pattern)
模板方法模式(Template Method Pattern) 概要 記憶關鍵字:模板方法 定義:定義一個操作中的算法的骨架,而將一些步驟延遲到子類中。模板方法使得子類可以不改變一個算法的結構即可重新定義該算法的某些特定
原创 如何區分代碼質量的好壞?
如何區分代碼質量的好壞? 要評判好壞,我們是不是需要有一種標準? 相信大家都聽說過“高內聚,低耦合”,即類的內聚性是不是很高,耦合度是不是很低。這一原則可以作爲我們評判軟件設計的好壞。 通俗的說,我們就需要儘量讓寫出
原创 享元模式(FlyWeight Pattern)
享元模式(FlyWeight Pattern) 概要 記憶關鍵字:細粒度、共享 定義:運用共享技術有效地支持大量細粒度的對象 類型:結構型 分析:共享對象,將對象的一部分狀態(內部狀態)設計成可共享的,以減少對象的數量,
原创 爲什麼 Redis Cluster 是16384個槽位
爲什麼 Redis Cluster 是16384個槽位 正常的心跳數據包攜帶節點的完整配置,它能以冪等方式來更新配置。如果採用 16384 個插槽,佔空間 2KB (16384/8);如果採用 65536 個插槽,佔空間 8KB (6553
原创 分佈式系統和微服務的關係
分佈式系統和微服務的關係 一、分佈式系統 分佈式系統是由多臺計算機組成的系統,這些計算機通過網絡進行通信和協作,共同完成一個或多個共享目標。在分佈式系統中,各個計算機節點可以分佈在不同的地理位置,
原创 Java虛擬機內存模型概念
Java虛擬機內存模型概念 Java虛擬機的內存可以分爲三個區域:棧stack、堆heap、方法區method area 一、棧stack 1. 棧描述的是方法執行的內存模型,每個方法被調用都會創建一個棧幀(存儲局部變量
原创 java-打包編譯常用命令
java-打包編譯常用命令 1. maven預編譯(打包檢查異常) 在上到測試環境或者生產環境之前,先在本地打包檢查異常: mvn clean install -Dmaven.test.skip=true -X 2.
原创 Java集合操作:可變集合和不可變集合
Java集合操作:可變集合和不可變集合 問題產生:java.lang.UnsupportedOperationException 問題定位:在通過mybatisPlus獲取分頁列表的時候寫了下面這段代碼 1 //分頁獲取列
原创 標題:Dubbo RPC開發中的序列化問題:深度解析反序列化導致的HashMap異常
Dubbo RPC開發中的序列化問題:深度解析反序列化導致的HashMap異常 在使用Dubbo RPC進行開發時,我們可能會遇到一些出乎意料的問題。其中之一就是在進行遠程調用時,內部嵌套對象出現與預期不符的HashMap。這個問題的根源在