想象一下這樣的場(chǎng)景:你在餐廳排隊(duì)等位,前面有個(gè)人點(diǎn)了餐卻一直霸占著座位玩手機(jī),后面的人只能干等著。這就是Go早期版本面臨的問題——一個(gè)goroutine如果不主動(dòng)讓出CPU,...
想象一下這樣的場(chǎng)景:你在餐廳排隊(duì)等位,前面有個(gè)人點(diǎn)了餐卻一直霸占著座位玩手機(jī),后面的人只能干等著。這就是Go早期版本面臨的問題——一個(gè)goroutine如果不主動(dòng)讓出CPU,...
在Go并發(fā)編程中,選擇合適的鎖就像給程序選擇合適的"交通規(guī)則"——選對(duì)了,車流(goroutine)順暢;選錯(cuò)了,不是堵車就是撞車。今天我們來聊聊Go中各種鎖的選型決策。 為...
引言 Channel是Go語言實(shí)現(xiàn)CSP并發(fā)模型的核心機(jī)制,提供了goroutine間通信的優(yōu)雅方式。雖然使用起來簡(jiǎn)單直觀,但channel的底層實(shí)現(xiàn)相當(dāng)復(fù)雜。不理解其工作原...
為什么需要理解CSP與GMP? 當(dāng)我們啟動(dòng)一個(gè)Go程序時(shí),可能會(huì)創(chuàng)建成千上萬個(gè)goroutine,它們是如何被調(diào)度到有限的CPU核心上的?為什么Go能夠如此輕松地處理高并發(fā)場(chǎng)...
為什么GC會(huì)成為性能瓶頸? 在Go語言開發(fā)中,垃圾回收機(jī)制讓我們免除了手動(dòng)內(nèi)存管理的煩惱,但也常成為高性能系統(tǒng)的隱形殺手。當(dāng)應(yīng)用面臨延遲敏感型場(chǎng)景時(shí),一次不合時(shí)宜的GC可能導(dǎo)...
內(nèi)存管理的重要性 在高性能Go程序開發(fā)中,內(nèi)存管理往往是性能瓶頸的關(guān)鍵所在。當(dāng)你的服務(wù)面臨數(shù)百萬QPS或需要處理大量數(shù)據(jù)時(shí),內(nèi)存分配效率直接影響響應(yīng)時(shí)間和資源利用率。一個(gè)簡(jiǎn)單...
為什么需要關(guān)注逃逸分析 在Go項(xiàng)目開發(fā)中,你是否遇到過這些困惑:明明只是創(chuàng)建了一個(gè)小對(duì)象,為什么會(huì)導(dǎo)致頻繁GC?某個(gè)高頻調(diào)用的函數(shù)為何會(huì)引起內(nèi)存分配激增?程序在大規(guī)模并發(fā)下內(nèi)...
起因 最近學(xué)習(xí)AI知識(shí)才了解向量數(shù)據(jù)庫(kù),才發(fā)現(xiàn)之前自己居然完全沒了解過向量數(shù)據(jù)庫(kù)。了解了以后解決了我多年的困惑。 本文不會(huì)出現(xiàn)任何專有名詞和算法,用小白文解釋一下存在這么一種...
起因 本人很少寫前端,以前也不喜歡node,說實(shí)話我現(xiàn)在也不喜歡只是技術(shù)棧都在這邊沒辦法。最近在新買的mac上交叉編譯x64的node image,兩個(gè)多小時(shí)還沒跑完如果你在...
為什么近兩年AI突然爆火出圈? 根本原因還是因?yàn)镺penAI-ChatGPT3.5的誕生,被一些人認(rèn)為產(chǎn)生了涌現(xiàn)現(xiàn)象或通過了圖靈測(cè)試,注意這兩個(gè)觀點(diǎn)并不被所有人認(rèn)可。但在Ch...
前言 去年我用deepseek2.5的時(shí)候就說在一些場(chǎng)景(Blender python api編程),deepseek2.5秒殺所有大模型,所以我當(dāng)時(shí)在一些“論壇”吹捧dee...
起因,最近github上火了一個(gè)非常簡(jiǎn)單的測(cè)試項(xiàng)目,Go完全打不過Java和Kotlin,且作者沒有給.net的結(jié)果:基準(zhǔn)代碼:bddicken/languages: Com...
有時(shí)候我們可能需要根據(jù)用戶IP判斷請(qǐng)求是否允許,可以用iplocation的免費(fèi)公開接口來完成 可以使用下面這個(gè)封裝庫(kù)快速請(qǐng)求查詢IP的所屬信息 示例代碼 輸出樣例 查詢語言...
可以使用iplocation的免費(fèi)公開接口,這里有一個(gè)封裝庫(kù)可以快速拿到結(jié)果 代碼示例 輸出樣例 注意事項(xiàng) 你應(yīng)該使用go mod go version >=1.18 你不應(yīng)...
在學(xué)習(xí)C/C++的過程中,指針常常讓初學(xué)者感到困惑。其實(shí),指針并沒有那么復(fù)雜,理解了它的基本原理和使用方法之后,你會(huì)發(fā)現(xiàn)它不過是一個(gè)存儲(chǔ)地址的變量而已。 一、變量的本質(zhì) 實(shí)際...
我很久以前寫過大量的博文都被我刪除了,找了一些有價(jià)值的重傳一下 在 C/C++ 編程中,內(nèi)存管理是一個(gè)重要的基礎(chǔ)知識(shí)。但國(guó)內(nèi)的大多數(shù)初學(xué)者是接觸不到這些內(nèi)容的,本文就簡(jiǎn)單講解...
前言 我很久以前寫過大量的博文都被我刪除了,找了一些有價(jià)值的重傳一下 主要講一下C/C++在結(jié)構(gòu)體和類在內(nèi)存中的存儲(chǔ)結(jié)構(gòu),注意空間和時(shí)間往往是反比關(guān)系,很多程序優(yōu)化都符合這個(gè)...
前言 我看一些知識(shí)區(qū)內(nèi)容時(shí),發(fā)現(xiàn)很多逆天評(píng)論,今天討論(沒C語言啥軟件都運(yùn)行不了)。(本人并不排斥C語言) 程序究竟是如何運(yùn)行的 大家都知道程序是通過二進(jìn)制代碼運(yùn)行的,這個(gè)二...
前言 今天小電視給我推送了一個(gè)視頻,講美國(guó)不知道什么部門(視頻里這樣說的),提倡底層軟件去C/C++化,原因是因?yàn)镃/C++內(nèi)存不安全,那我只能說,不是營(yíng)銷號(hào)無腦,就是技術(shù)部...