源碼:https://github.com/bluele/gcache[https://github.com/bluele/gcache] 多種淘汰策略,LRU、LFU、si...
源碼:https://github.com/bluele/gcache[https://github.com/bluele/gcache] 多種淘汰策略,LRU、LFU、si...
源碼學(xué)習(xí) https://github.com/muesli/cache2go[https://github.com/muesli/cache2go] 一、簡介 cache2...
一、應(yīng)用場(chǎng)景 鏈路跟蹤,業(yè)務(wù)需要傳遞上下游元信息; 主協(xié)程和子協(xié)程同步信號(hào),減少計(jì)算資源的浪費(fèi)。例如rpc調(diào)用時(shí)的超時(shí)控制。 二、使用示例 RPC超時(shí)控制 Context傳遞...
Channel是Golang實(shí)現(xiàn)CSP的核心。 基于channel通信主要涉及buf(數(shù)據(jù))和sendq、recvq(維護(hù)阻塞的G),lock保證并發(fā)訪問安全;本質(zhì)是一個(gè)基于...
golang/groupcache[https://github.com/golang/groupcache] 用處 保護(hù)下游,針對(duì)下游的同一批請(qǐng)求,只有一個(gè)負(fù)責(zé)去請(qǐng)求,其他...
學(xué)習(xí)資料 理解 互聯(lián)網(wǎng)協(xié)議入門(一)[http://www.ruanyifeng.com/blog/2012/05/internet_protocol_suite_part_...
一、堆的基礎(chǔ)知識(shí) 1.1 堆的內(nèi)存布局 1.2 堆和棧的區(qū)別 棧主要用來維護(hù)函數(shù)調(diào)用的上下文,由高向低增長; 堆用來容納程序動(dòng)態(tài)分配的內(nèi)存區(qū)域,使用malloc或new分配的...
程序員的自我修養(yǎng):編譯、鏈接、裝載 問題 編譯/鏈接的過程做了什么 目標(biāo)/可執(zhí)行文件的內(nèi)容是什么 裝載的過程做了什么 進(jìn)程空間的內(nèi)容是什么 筆記 程序員自我修養(yǎng)1:構(gòu)建過程[...
可執(zhí)行文件只有裝載到內(nèi)存以后才能被CPU執(zhí)行。 一、裝載的方式 頁映射:將內(nèi)存和磁盤中的數(shù)據(jù)和指令按照頁為單位劃分,以后裝載和操作的單位就是頁。4kb 二、程序的裝載運(yùn)行步驟...
一、相同的文件格式:ELF 目標(biāo)文件:代碼編譯后未鏈接的文件(Linux的.o) 可執(zhí)行文件 靜態(tài)鏈接庫(Linux的.a) 動(dòng)態(tài)鏈接庫(Linux的.so) 二、ELF文件...
示例代碼:hello.c 1. 預(yù)處理 gcc –E hello.c –o hello.i 預(yù)處理過程主要處理源代碼中以#開始的預(yù)編譯指令,將要包含(include)的文件插...
編譯過程分為6步:掃描(詞法分析)、語法分析、語義分析、源代碼優(yōu)化、代碼生成、目標(biāo)代碼優(yōu)化。 示例代碼:array[index] = (index + 4) * (2 + 6...
一、函數(shù)的范圍 ebp寄存器指向函數(shù)的棧底,esp寄存器指向函數(shù)的棧頂,共同劃分了函數(shù)的活動(dòng)范圍。減小esp的值相當(dāng)于在棧上開辟空間,而增大esp的值相當(dāng)于在棧上回收空間; ...
目錄 一、map的操作 聲明 map的零值為 nil 。nil 映射既沒有鍵,也不能添加鍵。var m map[string]int 初始化//運(yùn)行時(shí)初始化m = make(...
【聲明】歡迎轉(zhuǎn)載,但請(qǐng)保留文章原始出處→_→文章來源:http://www.itdecent.cn/p/08d085b34b2c聯(lián)系方式:zmhg871@gmail.com ...