文章首發(fā)于個(gè)人公眾號(hào)「小白debug」原文鏈接:連接一個(gè) IP 不存在的主機(jī)時(shí),握手過程是怎樣的魁袜?[https://mp.weixin.qq.com/s/Tg-D9I2xi2...
文章首發(fā)于個(gè)人公眾號(hào)「小白debug」原文鏈接:連接一個(gè) IP 不存在的主機(jī)時(shí),握手過程是怎樣的魁袜?[https://mp.weixin.qq.com/s/Tg-D9I2xi2...
問題 這個(gè)代碼會(huì)造成死循環(huán)嗎绳军? 怎么答 不會(huì)死循環(huán),for range其實(shí)是golang的語法糖匀奏,在循環(huán)開始前會(huì)獲取切片的長(zhǎng)度 len(切片)鞭衩,然后再執(zhí)行l(wèi)en(切片)次數(shù)的...
without pool 0 s
with pool 17 s
mac上測(cè)試,go version go1.13.6 darwin/amd64;
用對(duì)象池比不用對(duì)象池慢
問題 對(duì)未初始化的的chan進(jìn)行讀寫聚磺,會(huì)怎么樣坯台?為什么? 怎么答 讀寫未初始化的chan都會(huì)阻塞瘫寝。 舉例 1.寫未初始化的chan 注意這個(gè)chan send (nil ch...
問題 怎么避免內(nèi)存逃逸? 怎么答 在runtime/stubs.go:133有個(gè)函數(shù)叫noescape焕阿。noescape可以在逃逸分析中隱藏一個(gè)指針咪啡。讓這個(gè)指針在逃逸分析中不...
問題 知道golang的內(nèi)存逃逸嗎暮屡?什么情況下會(huì)發(fā)生內(nèi)存逃逸撤摸? 怎么答 golang程序變量會(huì)攜帶有一組校驗(yàn)數(shù)據(jù),用來證明它的整個(gè)生命周期是否在運(yùn)行時(shí)完全可知。如果變量通過了...
問題 能說說uintptr和unsafe.Pointer的區(qū)別嗎钥飞? 怎么答 unsafe.Pointer只是單純的通用指針類型,用于轉(zhuǎn)換不同類型指針衫嵌,它不可以參與指針運(yùn)算读宙; ...
問題 拷貝大切片一定比小切片代價(jià)大嗎楔绞? 怎么答 并不是论悴,所有切片的大小相同;三個(gè)字段(一個(gè) uintptr墓律,兩個(gè)int)。切片中的第一個(gè)字是指向切片底層數(shù)組的指針幔亥,這是切片的...
問題 字符串轉(zhuǎn)成byte數(shù)組帕棉,會(huì)發(fā)生內(nèi)存拷貝嗎针肥? 怎么答 字符串轉(zhuǎn)成切片,會(huì)產(chǎn)生拷貝香伴。嚴(yán)格來說慰枕,只要是發(fā)生類型強(qiáng)轉(zhuǎn)都會(huì)發(fā)生內(nèi)存拷貝。那么問題來了即纲。頻繁的內(nèi)存拷貝操作聽起來對(duì)性...
問題 翻轉(zhuǎn)含有中文低斋、數(shù)字蜂厅、英文字母的字符串 "你好abc啊哈哈" 代碼實(shí)現(xiàn) 解釋 rune關(guān)鍵字,從golang源碼中看出膊畴,它是int32的別名(-2^31 ~ 2^31-1...
大學(xué),就像一個(gè)小社會(huì)唇跨。在這里稠通,你不僅要學(xué)習(xí)專業(yè)知識(shí),還要和形形色色的人打交道——輔導(dǎo)員买猖、宿管阿姨改橘、班級(jí)同學(xué)......和人相處,有友情政勃、關(guān)愛唧龄,也有羨慕、嫉妒。要用新的眼光去看...