tag 源碼分析

標籤
貢獻51
106
06:15 AM · Nov 04 ,2025

@源碼分析 / 博客 RSS 訂閱

愛思考的小陳 - 《進大廠前先學會閲讀源碼》之shenyu網關-替換ZooKeeper客户端

相信大家碰到源碼一開始都是比較無從下手的🙃,不知道從哪開始閲讀,面對大量代碼暈頭轉向,索性就讀不下去了,又浪費了一次提升自己的機會😭。 我認為有一種方法,可以解決大家的困擾!那就是通過閲讀某一次開源【commit】、某一次社區【ISSUE】,從這個入口出發去閲讀源碼!! 至此,我們發現自己開始從大量堆砌的源碼中脱離開來😀。豁然開朗,柳暗花明又一村🍀。 一、前瞻 今天我們攻克的一次

開源軟件 , 源碼分析 , JAVA , 後端

收藏 評論

白邊 - 【微前端】qiankun v2.10.16(流程圖)源碼解析

整體核心流程 源碼分析 single-spa 存在以下主要的缺點 路由狀態管理不足:無法保持路由狀態,頁面刷新後路由狀態丟失 父子應用間的路由交互以來 postMessage 等方式,開發體驗差 未提供原生的 CSS 和 JS 沙箱隔離,可能導致樣式污染或者全局變量衝突 默認以來 webpack 的構建配置,其他構建工具需要改造後才能兼容 版本兼容性差,如果使用不同的 Vue 版本,

源碼分析 , 微前端 , 前端

收藏 評論

王大錘 - Nacos源碼分析-更新配置時服務端做了什麼

在 Nacos console 修改了配置以後,服務端底層怎麼存儲配置?客户端怎麼知道配置修改了?怎麼通知集羣其他節點?讓我來揭開它神秘的面紗。 服務端接收配置更新請求 在控制枱頁面更新一項配置,看看控制枱發送了什麼請求給服務端。 控制枱發送了一個 POST 請求:/nacos/v1/cs/configs,在官方 API指南 可以找到 API 定義。 我 Nacos 源碼是 2.* 版本

nacos , 源碼分析

收藏 評論

soroqer - Channel 的源碼分析與高效使用-Golang 🔥

“不要通過共享內存來通信,而要通過通信來共享內存”。這句話精準概括了 Go 併發模型的核心哲學——而承載這一哲學的核心原語,正是 channel(通道)。 要深入理解 channel,我們需要從 runtime 包的源碼層面分析其核心結構、關鍵操作(創建、發送/接收、關閉)的實現邏輯,以及底層如何通過同步機制(鎖、等待隊列)實現協程(Goroutine)間的安全通信。 以下源碼基於 go1.24.

channel , 效率 , 源碼分析 , go

收藏 評論

soroqer - Map 的源碼分析、內存分配、擴容機制-Golang 🔥

Go 語言的 map 是內置的鍵值對(Key-Value)集合類型,是基於哈希表實現的高效數據結構,用於高效存儲和查找數據。其核心特性如下: 無序性:map 中的鍵值對存儲順序不固定,無法通過索引訪問(區別於切片)。 鍵唯一性:鍵(Key)必須唯一,重複插入同一鍵會覆蓋舊值。 動態大小:map 會根據存儲的數據量自動擴容,無需手動管理內存。 通過深入理解 map 的源碼和內存分配,開發者

內存分配 , map , 擴容 , 源碼分析 , go

收藏 評論

江湖十年 - Go 源碼是如何解決測試代碼循環依賴問題的?

公眾號首發地址:https://mp.weixin.qq.com/s/j5vKNxl2keMF7oPT5M0XnA 最近我寫了一篇講解 context 包源碼的文章《Go 併發控制:context 源碼解讀》,在閲讀源碼的過程中,我在 context 包測試代碼中發現了一個解決循環依賴的小技巧,在此分享給大家。 x_test.go 解決循環依賴 context 包源碼目錄結構如下: https:/

面試 , 單元測試 , 源碼分析 , go , 後端

收藏 評論

今夜有點兒涼 - AQS 核心方法和源碼

在 AQS (AbstractQueuedSynchronizer) 中,這些方法涉及到同步的獲取和排隊機制,它們實現了類似於鎖(Lock)和信號量(Semaphore)的功能。AQS 通過內部維護一個 FIFO 隊列和一些節點來管理線程的同步。下面逐個解釋這些方法的作用: AQS 核心方法和源碼 1. acquire(int arg) 作用:嘗試獲取同步狀態,如果失敗,則加入隊列並阻塞線程

源碼分析 , 多線程 , JAVA , 隊列 , aqs

收藏 評論

斯達克 - 三次握手時服務端做了什麼

之前的幾篇文章我們介紹了linux中socket相關的系統調用,比如socket、linsten、accept等,這些系統調用更偏向於初始化、分配需要的資源。那麼在這些初始化結束後,tcp兩端進行建連操作時,服務端這邊做了什麼工作呢?點擊以下鏈接瞭解: 原文鏈接:聊聊Linux tcp/ip之建立連接時服務端幹了什麼-從syn-recv到established

tcp , linux內核模塊 , 源碼分析

收藏 評論

白邊 - 【微前端】singleSpa&importHTMLEntry(流程圖)源碼解析

single-spa v5.9.3 通過輕量級路由劫持和狀態機設計,實現微前端的動態加載與隔離,主要實現 路由管理:hashchange、popstate、history.pushState、history.replaceState進行劫持,路由變化時,觸發 reroute() 子應用狀態管理:不同執行邏輯轉化不同的狀態,比如 加載流程:toLoadPromise→toBo

源碼分析 , 微前端 , 前端

收藏 評論

得物技術 - 深入剖析時序Prophet模型:工作原理與源碼解析|得物技術

隨着得物業務的快速發展,積累了大量的時序數據,這些數據對精細化運營,提升效率、降低成本有着重要作用。在得物的時序數據挖掘場景中,時序預測Prophet模型使用頻繁,本文對Prophet的原理和源碼進行深入分析,歡迎閲讀和交流。 一、引入 時間序列是指按照時間先後順序收集或觀測的一系列數據點,這類數據通常都具有一定時間相關性,基於這種順序性,我們可以對時間序列進行多種數據挖掘任務,包括分類、聚類、異

序列化 , 大數據 , 時序數據庫 , 源碼分析 , 模型

收藏 評論

得物技術 - Bookie存儲架構源碼剖析|得物技術

一、Pulsar存儲架構簡析 Pulsar作為新一代MQ中間件,在底層架構設計上充分貫徹了存算分離的思想,broker與Bookeeper兩個組件獨立部署,前者負責流量的調度、聚合、計算,後者負責數據的存儲,這也契合了雲原生下k8s大行其道的時代背景。Bookeeper又名Bookie ,是一個單獨的存儲引擎。在組件關係上,broker深度依賴Bookie,內部集成了 Bookie的client端

mq , 架構 , 源碼分析 , JAVA , pulsar

收藏 評論

vivo互聯網技術 - Sharding-JDBC源碼解析與vivo的定製開發

作者:vivo IT 平台團隊 - Xiong Huanxin Sharding-JDBC是在JDBC層提供服務的數據庫中間件,在分庫分表場景具有廣泛應用。本文對Sharding-JDBC的解析、路由、改寫、執行、歸併五大核心引擎進行了源碼解析,並結合業務實踐經驗,總結了使用Sharding-JDBC的一些痛點問題並分享了對應的定製開發與改造方案。 本文源碼基於Sharding-JDBC 4.1.

sharding-jdbc , 源碼分析

收藏 評論

Mulavar - 【HBase】Seek 原理詳解

入口 org.apache.hadoop.hbase.io.hfile.HFileReaderImpl.HFileScannerImpl#seekTo(org.apache.hadoop.hbase.Cell, boolean) : public int seekTo(Cell key, boolean rewind) throws IOException { HFileBlockIndex.

存儲 , 數據庫 , 源碼分析 , hbase

收藏 評論

張思凱 - 彩虹易支付源碼最新完整版usdt支付插件下載/即時到賬/通道輪詢附搭建部署教程

  隨着移動支付的興起,人們越來越習慣於使用手機進行支付。彩虹易支付源碼開發應運而生,它是一款方便快捷的移動支付應用程序。本文將介紹彩虹易支付源碼開發的相關內容,包括開發背景、需求分析、技術架構、功能模塊和開發流程等。   源碼:fakaysw.top      一、開發背景      隨着移動互聯網的發展,人們對支付方式的便捷性和安全性要求越來越高。傳統的支付方式如現金支

源碼分析

收藏 評論

emanjusaka - 淺析 ArrayList

byemanjusaka fromhttps://www.emanjusaka.com/2023/12/java-arrayList彼岸花開可奈何 本文歡迎分享與聚合,全文轉載請留下原文地址。 ArrayList是一個使用List接口實現的Java類。顧名思義,Java ArrayList提供了動態數組的功能,其中數組的大小不是固定的。它實現了所有可選的列表操作,並允許所有元素,包括n

JDK , 源碼分析 , 後端

收藏 評論

da_miao_zi - redigo連接池的源碼分析

redigo連接池的源碼分析 今天我們來看一看redigo(https://github.com/gomodule/redigo)是如何實現連接池的。 概述 連接池部分的代碼在redis/pool.go中,相關結構體和接口的UML圖如下圖所示 Pool結構體定義了連接池的屬性和行為,包括以下主要參數: Dial func() (Conn, error):指向用於新建連接的函數,由redigo

redis , 源碼學習 , 源碼分析 , 連接池 , go

收藏 評論

alwaysbeta - 微服務架構|go-zero 的自適應熔斷器

原文鏈接: go-zero 的自適應熔斷器 上篇文章我們介紹了微服務的限流,詳細分析了計數器限流和令牌桶限流算法,這篇文章來説説熔斷。 熔斷和限流還不太一樣,限流是控制請求速率,只要還能承受,那麼都會處理,但熔斷不是。 在一條調用鏈上,如果發現某個服務異常,比如響應超時。那麼調用者為了避免過多請求導致資源消耗過大,最終引發系統雪崩,會直接返回錯誤,而不是瘋狂調用這個服務。 本篇文章會介紹主流熔斷器

源碼學習 , 微服務 , 源碼 , 源碼分析 , go

收藏 評論

歡樂的阿蘇 - kubernetes indexer源碼解析

kubernetes indexer源碼解析 kubernetes indexer是實現了多索引的本地緩存 1.背景 以db中學校學生表做本地緩存為例 type Student struct { ID uint32 Name string Class uint32 } // 本地緩存,id和學生的映射 var idCache = map[uint32]Student{}

kubernetes , 源碼學習 , 源碼分析 , go , 後端

收藏 評論

wric - 源碼閲讀:go-zero的core/conf包

這個代碼庫主要用於加載和解析配置文件,支持 JSON、TOML 和 YAML 格式。主要功能包括從文件或字節數據中加載配置、填充默認值以及處理配置數據的鍵大小寫。代碼的主要結構和函數如下: fieldInfo 結構體:用於表示字段信息,包括子字段和映射字段。 從文件或字節數據加載配置的函數:Load, LoadConfig, LoadFromJsonBytes, LoadConfigFrom

源碼學習 , 源碼使人進步 , 源碼 , 源碼分析

收藏 評論

田八 - 【源碼&庫】Vue3 中的 nextTick 魔法背後的原理

在使用Vue的時候,最讓人着迷的莫過於nextTick了,它可以讓我們在下一次DOM更新循環結束之後執行延遲迴調。 所以我們想要拿到更新的後的DOM就上nextTick,想要在DOM更新之後再執行某些操作還上nextTick,不知道頁面什麼時候掛載完成依然上nextTick。 雖然我不懂Vue的內部實現,但是我知道有問題上nextTick就對了,你天天上nextTick,那麼nextTick為什麼

vue.js , 源碼學習 , 源碼 , 源碼分析

收藏 評論

懷月 - Flask 0.1 源碼解讀

一、app.run() 在做什麼? 執行 app.run() 便啓動了 Flask 服務,這個服務為什麼能夠監聽 http 請求並做出響應?讓我們進入 run 函數內部一探究竟。 def run(self, host='localhost', port=5000, **options): from werkzeug import run_simple if 'debug' in o

源碼學習 , flask , 源碼分析 , Python

收藏 評論

田八 - 【源碼&庫】在調用 createApp 時,Vue 為我們做了那些工作?

在使用Vue3時,我們需要使用createApp來創建一個應用實例,然後使用mount方法將應用掛載到某個DOM節點上。 那麼在調用createApp時,Vue再背後做了些什麼事情呢?今天就來扒一扒Vue3的源碼,看看調用createApp發生了些什麼。 大家好,這裏是田八的【源碼庫】系列,Vue3的源碼閲讀計劃,Vue3的源碼閲讀計劃不出意外每週一更,歡迎大家關注。 首發在掘金,如果想一起

vue.js , 源碼學習 , 源碼 , 源碼分析 , Javascript

收藏 評論

阿東 - 【RocketMq】RocketMq-NameServ 源碼分析(Ver4.9.4)

引言 RocketMq3.X的版本和Kafka一樣是基於Zookeeper進行路由管理的,但是這意味着運維需要多部署一套Zookeeper集羣,後來RocketMq選擇去ZK最終出現了NameServ。NameServ作為RocketMq源碼閲讀的切入點非常不錯,本文將會介紹Ver 4.9.4 版本的NameServ源碼分析。 NameServer主要有兩個功能,Broker管理和路由信息管理。

rocketmq , 源碼學習 , 消息中間件 , 源碼分析

收藏 評論

龍騎士尹道長 - 一個關於React數據不可變的無聊問題

對於一個React的開發者來説不知道你有沒有想過為什麼React追求數據不可變這個範式; 一個月前我想過一個問題如果我在使用useState這個hooks的時候傳入的是一個改變後的引用類型對象會發生什麼? 例如: import {useState} from "react" function App() { const [list,setList] = useState([0,1,2])

react , 源碼學習 , 源碼分析 , Javascript

收藏 評論