1. sync包下有哪些同步原語 sync.Mutex sync.RWMutex sync.WaitGroup sync.Map sync.Pool sync.Once sy...

1. sync包下有哪些同步原語 sync.Mutex sync.RWMutex sync.WaitGroup sync.Map sync.Pool sync.Once sy...
1. Redis的使用場(chǎng)景有哪些? 熱點(diǎn)數(shù)據(jù)的緩存 限時(shí)業(yè)務(wù)的運(yùn)用 計(jì)數(shù)器相關(guān)問題 分布式鎖 排行榜相關(guān)問題 點(diǎn)贊、好友等相互關(guān)系的存儲(chǔ) 簡(jiǎn)單隊(duì)列 2. Redis數(shù)據(jù)類型 ...
索引 —— 本質(zhì)上是一個(gè) B+ 樹 1. MySQL InnoDB索引為什么用B+樹而不用二叉樹 B+樹的每個(gè)節(jié)點(diǎn)可以表示的信息更多,因此整個(gè)樹更加“矮胖”,這在從磁盤中查找...
mysql短連接數(shù)暴增 max_connections,Too many connections調(diào)高max_connections值(風(fēng)險(xiǎn))information_schem...
Linux 查看端口占用情況可以使用 lsof 和 netstat 命令。 lsof lsof(list open files)是一個(gè)列出當(dāng)前系統(tǒng)打開文件的工具。lsof 查...
Go語言的內(nèi)置函數(shù) copy() 可以將一個(gè)數(shù)組切片復(fù)制到另一個(gè)數(shù)組切片中,如果加入的兩個(gè)數(shù)組切片不一樣大,就會(huì)按照其中較小的那個(gè)數(shù)組切片的元素個(gè)數(shù)進(jìn)行復(fù)制。copy() 函...
Go語言里對(duì)同步的支持主要有五類應(yīng)用場(chǎng)景: 資源獨(dú)占:當(dāng)多個(gè)線程依賴同一份資源(比如數(shù)據(jù)),需要同時(shí)讀/寫同一個(gè)內(nèi)存地址時(shí),runtime需要保證只有一個(gè)修改這份數(shù)據(jù),并且保...
defer 語句并不會(huì)馬上執(zhí)行,而是會(huì)進(jìn)入一個(gè)棧,函數(shù) return 前,會(huì)按先進(jìn)后出(FILO)的順序執(zhí)行。也就是說最先被定義的 defer 語句最后執(zhí)行。先進(jìn)后出的原因是...
數(shù)組下標(biāo)越界(運(yùn)行時(shí)錯(cuò)誤) 運(yùn)行結(jié)果: 空指針異常(運(yùn)行時(shí)錯(cuò)誤) 運(yùn)行結(jié)果: 類型斷言失敗(接口轉(zhuǎn)換異常) 運(yùn)行結(jié)果: 通道為空,通道已關(guān)閉(寫數(shù)據(jù)) 運(yùn)行結(jié)果: 運(yùn)行結(jié)果:...
輸出結(jié)果 動(dòng)態(tài)類型在上面已經(jīng)講過,動(dòng)態(tài)值是實(shí)際分配的值。記住一點(diǎn):當(dāng)且僅當(dāng)動(dòng)態(tài)值和動(dòng)態(tài)類型都為 nil 時(shí),接口類型值才為 nil。上面的代碼,給變量 i 賦值之后,i 的...
線性表 在鏈表中存儲(chǔ)的數(shù)據(jù)元素也叫作結(jié)點(diǎn),一個(gè)結(jié)點(diǎn)存儲(chǔ)的就是一條數(shù)據(jù)記錄。每個(gè)結(jié)點(diǎn)的結(jié)構(gòu)包括兩個(gè)部分: 第一是具體的數(shù)據(jù)值; 第二是指向下一個(gè)結(jié)點(diǎn)的指針。 鏈表種類 單向鏈表...
在一個(gè)數(shù)組中找出出現(xiàn)次數(shù)最多的那個(gè)元素的數(shù)值處理數(shù)據(jù)的核心思路是: 第一步,根據(jù)原始數(shù)組計(jì)算每個(gè)元素出現(xiàn)的次數(shù); 第二步,根據(jù)第一步的結(jié)果,找到出現(xiàn)次數(shù)最多的元素。 這里的數(shù)...
Id: 就是這個(gè)線程的唯一標(biāo)識(shí),當(dāng)我們發(fā)現(xiàn)這個(gè)線程有問題的時(shí)候,可以通過 kill 命令,加上這個(gè)Id值將這個(gè)線程殺掉。前面我們說了show processlist 顯示的信...
程序優(yōu)化的最核心的思路 第一步,暴力解法。在沒有任何時(shí)間、空間約束下,完成代碼任務(wù)的開發(fā)。 第二步,無效操作處理。將代碼中的無效計(jì)算、無效存儲(chǔ)剔除,降低時(shí)間或空間復(fù)雜度。 第...
復(fù)雜度的計(jì)算方法遵循以下幾個(gè)原則 首先,復(fù)雜度與具體的常系數(shù)無關(guān),例如 O(n) 和 O(2n) 表示的是同樣的復(fù)雜度。我們?cè)敿?xì)分析下,O(2n) 等于 O(n+n),也等于...