原创 MySQL 索引失效場景總結

查詢條件有 or 假設在 customer_name 字段設置了普通索引,執行以下 sql: # type: ref, possible_keys: idx_customer_name, key: idx_customer_name # i

原创 SpringBoot 常用註解總結

核心註解 1. @SpringBootApplication 主要用於開啓自動配置,它也是一個組合註解,主要組合了 @SpringBootConfiguration、@EnableAutoConfiguration、@ComponentSc

原创 面試官:說一說 Spring 與 SpringBoot 的區別?

Spring 爲開發 Java 應用程序提供了全面的基礎架構支持,它將 Java 對象交由容器統一管理,從而實現控制反轉(IOC)和依賴注入(DI),並提供了一些常用模塊如 SpringAOP、SpringJDBC、SpringMVC 等等

原创 Java HashMap 詳解

HashMap HashMap 繼承自 AbstractMap,實現了 Map 接口,基於哈希表實現,元素以鍵值對的方式存儲,允許鍵和值爲 null。因爲 key 不允許重複,因此只能有一個鍵爲 null。HashMap 不能保證放入元素的

原创 接口冪等性詳解

概述 所謂接口冪等性就是:在特定場景下,同一條件的多次接口調用,保證操作只執行一次,如果接口沒有保證冪等性,在以下場景就會產生問題 前端重複提交:用戶進行註冊、創建個人信息等操作,由於網絡抖動導致頁面沒有及時響應,用戶認爲沒有成功而多次點

原创 MySQL MVCC 詳解

轉載自:https://blog.csdn.net/huyuyang6688/article/details/123028254 概述 MVCC 全稱 Mutil-Version Concurrency Control,多版本併發控制

原创 Redis 數據一致性

概述 當我們在使用緩存時,如果發生數據變更,那麼你需要同時操作緩存和數據庫,而它們兩個又分屬不同的系統,因此無法做到同時操作成功或失敗,因此在併發讀寫下很可能出現緩存與數據庫數據不一致的情況 理論上可以通過分佈式事務保證同時操作成功或失敗,

原创 ThreadLocal 本地線程變量詳解

概述 ThreadLocal 意爲本地線程變量,即該變量只屬於當前線程,對其他線程隔離 我們知道,一個普通變量如果被多線程訪問會存在存在線程安全問題,這時我們可以使用 Synchronize 來保證該變量某一時刻只能有一個線程訪問,從而解決

原创 MySQL Select 語句執行順序

一條 SQL 查詢語句結構如下: SELECT DISTINCT <select_list> FROM <left_table> <join_type> JOIN <right_table> ON <join_condition> WHE

原创 Java 四種引用類型(強引用、軟引用、弱引用、虛引用)

概述 Java 中的引用類似 C 語言中的指針,指向一個對象,比如: // person 就是指向 Person 實例“張三”的引用 Person person = new Person("張三"); 在 JDK1.2 以前,Java 裏

原创 服務鏈路追蹤 —— SpringCloud Sleuth

Sleuth 簡介 隨着業務的發展,系統規模變得越來越大,微服務拆分越來越細,各微服務間的調用關係也越來越複雜。客戶端請求在後端系統中會經過多個不同的微服務調用來協同產生最後的請求結果,幾平每一個請求都會形成一個複雜的分佈式服務調用鏈路,在

原创 分佈式事務 —— SpringCloud Alibaba Seata

Seata 簡介 傳統的單體應用中,業務操作使用同一條連接操作不同的數據表,一旦出現異常就可以整體回滾。隨着公司的快速發展、業務需求的變化,單體應用被拆分成微服務應用,原來的單體應用被拆分成多個獨立的微服務,分別使用獨立的數據源,業務操作需

原创 消息總線 —— SpringCloud Bus

Bus 簡介 Spring Cloud Bus 是 Spring Cloud 體系內的消息總線,支持 RabbitMQ 和 Kafka 兩種消息中間件。所謂消息總線,簡單理解就是一個消息中心,衆多微服務實例都可以連接到總線上,實例可以往消息

原创 消息驅動 —— SpringCloud Stream

Stream 簡介 Spring Cloud Stream 是用於構建消息驅動的微服務應用程序的框架,提供了多種中間件的合理配置 Spring Cloud Stream 包含以下核心概念: Destination Binders:目標綁定

原创 熔斷、限流、降級 —— SpringCloud Alibaba Sentinel

Sentinel 簡介 Sentinel 是阿里中間件團隊開源的,面向分佈式服務架構的高可用流量防護組件,主要以流量爲切入點,從限流、流量整形、熔斷降級、系統負載保護、熱點防護等多個維度來幫助開發者保障微服務的穩定性 Sentinel 提供