
熱重啟方式 使用負(fù)載均衡等技術(shù)分批次灰度機(jī)器 使用fork系統(tǒng)調(diào)用來實(shí)現(xiàn)平滑重啟 go的平滑重啟實(shí)現(xiàn) 具體原理就是子進(jìn)程與父進(jìn)程共享文件描述符,...
進(jìn)程、線程、協(xié)程 進(jìn)程:進(jìn)程是系統(tǒng)進(jìn)行資源分配的基本單位,有獨(dú)立的內(nèi)存空間,單切換代價極高,進(jìn)程間通信也比較麻煩 線程:線程是CPU調(diào)度和分派的...
連連看是一種很受大家歡迎的小游戲。下面四張圖給出了最基本的消除規(guī)則: 圖 A 中出現(xiàn)在同一直線上無障礙的圈圈可以消除;圖 B 中兩個圈圈可以通過...
為什么要內(nèi)存對齊 1.平臺原因(移植原因):不是所有的硬件平臺都能訪問任意地址上的任意數(shù)據(jù)的;某些硬件平臺只能在某些地址處取某些特定類型的數(shù)據(jù),...
每一個OS線程都有一個固定大小的內(nèi)存塊(一般會是2MB)來做棧,這個棧會用來存儲當(dāng)前正在被調(diào)用或掛起(指在調(diào)用其它函數(shù)時)的函數(shù)的內(nèi)部變量。這個...
總結(jié) Go的內(nèi)存結(jié)構(gòu) 每個Go程序進(jìn)程都由操作系統(tǒng)(OS)預(yù)先分配了一些虛擬內(nèi)存,這是該進(jìn)程可以訪問的全部內(nèi)存。在這個虛擬內(nèi)存中實(shí)際正在使用的內(nèi)...
go的GC機(jī)制 GO的GC是并行GC,也就是說GC的大部分清理和普通的go代碼是同時運(yùn)行的,這讓GO的GC流程比較復(fù)雜。 標(biāo)記清除(Mark A...
go的內(nèi)存分配 Go在程序啟動的時候,會先向操作系統(tǒng)申請一塊內(nèi)存(注意這時還只是一段虛擬的地址空間,并不會真正地分配內(nèi)存),切成小塊后自己進(jìn)行管...
逃逸對性能的影響 在(1)中,通過一個共享在 goroutine 的棧上的值的例子講解了逃逸分析的基礎(chǔ)。還有其他沒有介紹的造成值逃逸的場景。為了...