原创 HTTP 連接詳解

概述 世界上幾乎所有的 HTTP 通信都是由 TCP/IP 承載的,客戶端可以打開一條TCP/IP連接,連接到任何地方的服務器。一旦連接建立,客戶端和服務器之間交換的報文就永遠不會丟失、受損或失序 TCP(Transmission Cont

原创 HTTP 結構概述

Web 客戶端和服務器 Web 內容都是存儲在 Web 服務器上的,Web 服務器所使用的是 HTTP 協議,因此經常被稱爲 HTTP 服務器,HTTP 服務器存儲了因特網的數據。客戶端向服務器發送 HTTP 請求,服務器會在 HTTP 響

原创 HTTP URL 詳解

概述 URL 提供了一種定位因特網上任意資源的手段,大多數 URL 語法都由以下九個結構的通用格式組成: <scheme>://<user>:<password>@<host>:<port>/<path>;<params>?<query>#

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