原创 【轉】 一條 SQL 的執行過程詳解

MySQL 體系架構 - 連接池組件 1、負責與客戶端的通信,是半雙工模式,這就意味着某一固定時刻只能由客戶端向服務器請求或者服務器向客戶端發送數據,而不能同時進行。 2、驗證用戶名和密碼是否正確(數據庫 MySQL 的 user 表中進

原创 【轉】我是一個CPU:這個世界慢!死!了!

簡介 經常聽到有人說磁盤很慢、網絡很卡,這都是站在人類的感知維度去表述的,比如拷貝一個文件到硬盤需要幾分鐘到幾十分鐘,夠我去喫個飯啦;而從網絡下載一部電影,有時候需要幾個小時,我都可以睡一覺了。 最爲我們熟知的關於計算機不同組件速度差異的圖

原创 《拉鉤課程 - 重學操作系統 - 計算機組成原理》

1、芯片是怎麼工作的呢?電能供給給芯片,芯片中的一種電子元件晶振(也就是石英晶體)通電後產生震盪,震盪會產生頻率穩定的脈衝信號。通常這是一種高頻的脈衝信號,每秒可達百萬次。然後,我們通過諧振效應發放這個信號,形成方波。再通過電子元件調整這種

原创 【轉】認識長輪詢:配置中心是如何實現推送的?

一 前言 傳統的靜態配置方式想要修改某個配置時,必須重新啓動一次應用,如果是數據庫連接串的變更,那可能還容易接受一些,但如果變更的是一些運行時實時感知的配置,如某個功能項的開關,重啓應用就顯得有點大動干戈了。配置中心正是爲了解決此類問題應運

原创 2021 — 冰與火之歌

大半夜的睡不着,越發的想給 2021 年作個總結,一想更睡不着了,來嘮叨下吧。 一拖再拖的婚禮。本來定在今年正月的婚禮,因爲疫情,不敢辦,村裏也不讓辦;然後選在國慶吧,臥槽,封城了,我連老家都回不去,想想國慶待在宿舍的七天,簡直頭大,我恨疫

原创 tcp 連接 time-wait 狀態過多問題解釋

前言 兩條豎線分別是表示: 主動關閉(active close)的一方 被動關閉(passive close)的一方 網絡上類似的圖有很多,但是有的細節不夠,有的存在誤導。有的會把兩條線分別標記成 client 和 server。給讀

原创 【轉】京東評價系統海量數據存儲設計

概述 京東的商品評論目前已達到數十億條,每天提供的服務調用也有數十億次,而這些數據每年還在成倍增長,而數據存儲是其中最重要的部分之一,接下來就介紹下京東評論系統的數據存儲是如何設計的。 整體數據存儲包括基礎數據存儲、文本存儲、數據索引、數據

原创 《拉鉤課程 — 重學數據結構與算法》學習筆記

一、代碼效率優化方法論 1、數據結構,從名字上來看是數據的結構,也就是數據的組織方式。 2、複雜度是衡量代碼運行效率的重要度量因素。 3、複雜度是一個關於輸入數據量 n 的函數。假設你的代碼複雜度是 f(n),那麼就用個大寫字母 O 和括號

原创 《拉鉤課程 — 計算機網絡通關》學習筆記

一、概述 1、程序員基礎知識大致可以分爲七種基本科學:計算機組成原理、操作系統、計算機網絡、算法和數據結構、圖形學、編譯原理、編輯技巧。 2、ISP:Internet Service Provider,本地網絡服務提供商。 通常,局域網網

原创 DMA 與零拷貝技術

原文鏈接:DMA 與零拷貝技術 注意事項:除了 Direct I/O,與磁盤相關的文件讀寫操作都有使用到 page cache 技術。 1. 數據的四次拷貝與四次上下文切換 很多應用程序在面臨客戶端請求時,可以等價爲進行如下的系統調

原创 唯一主鍵方案之數據庫維護區間分配

我們介紹一種基於數據庫維護自增 ID 區間,結合內存分配的策略,這也是淘寶的 TDDL 等數據庫中間件使用的主鍵生成策略。 使用這種方式首先在數據庫中創建 sequence 表,其中的每一行,用於記錄某個業務主鍵當前已經被佔用的 ID 區間

原创 Guava 內存緩存的使用

一、概述 guava⽬前有三種刷新本地緩存的機制: expireAfterAccess:當緩存項在指定的時間段內沒有被讀或寫就會被回收。 expireAfterWrite:當緩存項在指定的時間段內沒有更新就會被回收。-- 常用 refre

原创 《拉鉤課程 — 分佈式技術原理與實戰》學習筆記

1、分佈式系統是用來解決集中式架構的性能瓶頸問題,其核心是可擴展性,其特點包括:不出現單點故障、無狀態等。依照 CAP 理論,分佈式系統只能在 CP 和 AP 之間做取捨。 2、Base 理論是在 CAP 理論上發展的,是 CAP 理論的實

原创 【轉】談談 JVM 內部鎖升級過程

一、加鎖發生了什麼 //System.out.println都加了鎖 public void println(String x) { synchronized (this) { print(x); newLine();

原创 TCP 和 UDP 協議簡介

一、TCP TCP(Transmission Control Protocol),傳輸控制協議,對“傳輸、發送、通信”進行“控制”的協議,它充分地實現了數據傳輸時的各種控制功能,可以進行丟包時的重發控制,還可以對次序亂掉的分包進行順序控制。