日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
go語(yǔ)言練習(xí)推薦 Go語(yǔ)言入門經(jīng)典

Go語(yǔ)言HTTPServer開(kāi)發(fā)的六種實(shí)現(xiàn)

學(xué)完了 net/http 和 fasthttp 兩個(gè)HTTP協(xié)議接口的客戶端實(shí)現(xiàn),接下來(lái)就要開(kāi)始Server的開(kāi)發(fā),不學(xué)不知道一學(xué)嚇一跳,居然這兩個(gè)庫(kù)還支持Server的開(kāi)發(fā),太方便了。

目前創(chuàng)新互聯(lián)公司已為成百上千的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬空間、網(wǎng)站托管運(yùn)營(yíng)、企業(yè)網(wǎng)站設(shè)計(jì)、兩當(dāng)網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。

相比于Java的HTTPServer開(kāi)發(fā)基本上都是使用Spring或者Springboot框架,總是要配置各種配置類,各種 handle 對(duì)象。Golang的Server開(kāi)發(fā)顯得非常簡(jiǎn)單,就是因?yàn)樘貏e簡(jiǎn)單,或者說(shuō)沒(méi)有形成特別統(tǒng)一的規(guī)范或者框架,我發(fā)現(xiàn)了很多實(shí)現(xiàn)方式,HTTP協(xié)議基于還是 net/http 和 fasthttp ,但是 handle 語(yǔ)法就多種多樣了。

先復(fù)習(xí)一下: Golang語(yǔ)言HTTP客戶端實(shí)踐 、 Golang fasthttp實(shí)踐 。

在Golang語(yǔ)言方面,實(shí)現(xiàn)某個(gè)功能的庫(kù)可能會(huì)比較多,有機(jī)會(huì)還是要多跟同行交流,指不定就發(fā)現(xiàn)了更好用的庫(kù)。下面我分享我學(xué)到的六種Server開(kāi)發(fā)的實(shí)現(xiàn)Demo。

基于 net/http 實(shí)現(xiàn),這是一種比較基礎(chǔ)的,對(duì)于接口和 handle 映射關(guān)系處理并不優(yōu)雅,不推薦使用。

第二種也是基于 net/http ,這種編寫語(yǔ)法可以很好地解決第一種的問(wèn)題,handle和path有了類似配置的語(yǔ)法,可讀性提高了很多。

第三個(gè)基于 net/http 和 github.com/labstack/echo ,后者主要提供了 Echo 對(duì)象用來(lái)處理各類配置包括接口和handle映射,功能很豐富,可讀性最佳。

第四種依然基于 net/http 實(shí)現(xiàn),引入了 github.com/gin-gonic/gin 的路由,看起來(lái)接口和 handle 映射關(guān)系比較明晰了。

第五種基于 fasthttp 開(kāi)發(fā),使用都是 fasthttp 提供的API,可讀性尚可,handle配置倒是更像Java了。

第六種依然基于 fasthttp ,用到了 github.com/buaazp/fasthttprouter ,有點(diǎn)奇怪兩個(gè)居然不在一個(gè)GitHub倉(cāng)庫(kù)里。使用語(yǔ)法跟第三種方式有點(diǎn)類似,比較有條理,有利于閱讀。

編程語(yǔ)言那個(gè)更好學(xué)習(xí)一點(diǎn)啊?

Python:

難度系數(shù):一顆星;歡迎指數(shù):四顆星。

學(xué)完之后可以從事:web開(kāi)發(fā)、應(yīng)用開(kāi)發(fā)、大數(shù)據(jù)、數(shù)據(jù)挖掘、科學(xué)計(jì)算、機(jī)器學(xué)習(xí)、人工智能、運(yùn)維、自然語(yǔ)言處理等。

就業(yè)薪資:北京地區(qū)Python開(kāi)發(fā)工程師,工資收入水平應(yīng)屆畢業(yè)生起步10k左右。

GO語(yǔ)言:

難度指數(shù):一顆星;歡迎指數(shù):四顆星

相對(duì)于來(lái)講,GO語(yǔ)言并不是很難。但是GO語(yǔ)言的學(xué)習(xí)資料相對(duì)于其他語(yǔ)言比較少,所以學(xué)習(xí)起來(lái)沒(méi)有其他語(yǔ)言那么便利;很多人都說(shuō)GO語(yǔ)言很火,按照數(shù)據(jù)來(lái)講是的,尤其是在國(guó)外,GO語(yǔ)言非常火,有很好的開(kāi)發(fā)效率,主要用于服務(wù)器端的開(kāi)發(fā),進(jìn)行處理日志、數(shù)據(jù)打包、虛擬機(jī)處理、文件系統(tǒng)等。

就業(yè)薪資:GO語(yǔ)言起步薪資相對(duì)于較低,而且招聘崗位也不是很多。

Java:

難度指數(shù):三顆星;歡迎指數(shù)五顆星。

Java可以做:安卓和IOS的應(yīng)用開(kāi)發(fā)、視頻游戲開(kāi)發(fā)、桌面GUI、軟件開(kāi)發(fā)等。

就業(yè)薪資:Java屬于老牌編程語(yǔ)言,但是由于市場(chǎng)上開(kāi)發(fā)人員較多,競(jìng)爭(zhēng)激烈,薪資比較平穩(wěn),招聘需求量也不是很高,如果是應(yīng)屆畢業(yè)生的話,可能并不是很好找工作。

C++:

難度指數(shù):四顆星;歡迎指數(shù):四顆星。

C++目前被看作編寫大型程序時(shí)應(yīng)用最好的面向?qū)ο缶幊陶Z(yǔ)言,C++是C語(yǔ)言的升級(jí)版本。

C++可以做:搜索引擎、軟件開(kāi)發(fā)、操作系統(tǒng)、視頻游戲等。

就業(yè)薪資:C++開(kāi)發(fā)工程師起薪工資一萬(wàn)左右,高級(jí)工程師薪資兩萬(wàn)左右,但是學(xué)習(xí)起來(lái)不易,對(duì)基礎(chǔ)、學(xué)歷都有要求。

綜合情況,從難易度、就業(yè)薪資、需求量方面來(lái)講,更推薦大家學(xué)習(xí)Python。Python簡(jiǎn)單易學(xué)、容易入門、語(yǔ)法清晰,對(duì)初學(xué)者十分友好。

Go語(yǔ)言——sync.Map詳解

sync.Map是1.9才推薦的并發(fā)安全的map,除了互斥量以外,還運(yùn)用了原子操作,所以在這之前,有必要了解下 Go語(yǔ)言——原子操作

go1.10\src\sync\map.go

entry分為三種情況:

從read中讀取key,如果key存在就tryStore。

注意這里開(kāi)始需要加鎖,因?yàn)樾枰僮鱠irty。

條目在read中,首先取消標(biāo)記,然后將條目保存到dirty里。(因?yàn)闃?biāo)記的數(shù)據(jù)不在dirty里)

最后原子保存value到條目里面,這里注意read和dirty都有條目。

總結(jié)一下Store:

這里可以看到dirty保存了數(shù)據(jù)的修改,除非可以直接原子更新read,繼續(xù)保持read clean。

有了之前的經(jīng)驗(yàn),可以猜測(cè)下load流程:

與猜測(cè)的 區(qū)別 :

由于數(shù)據(jù)保存兩份,所以刪除考慮:

先看第二種情況。加鎖直接刪除dirty數(shù)據(jù)。思考下貌似沒(méi)什么問(wèn)題,本身就是臟數(shù)據(jù)。

第一種和第三種情況唯一的區(qū)別就是條目是否被標(biāo)記。標(biāo)記代表刪除,所以直接返回。否則CAS操作置為nil。這里總感覺(jué)少點(diǎn)什么,因?yàn)闂l目其實(shí)還是存在的,雖然指針nil。

看了一圈貌似沒(méi)找到標(biāo)記的邏輯,因?yàn)閯h除只是將他變成nil。

之前以為這個(gè)邏輯就是簡(jiǎn)單的將為標(biāo)記的條目拷貝給dirty,現(xiàn)在看來(lái)大有文章。

p == nil,說(shuō)明條目已經(jīng)被delete了,CAS將他置為標(biāo)記刪除。然后這個(gè)條目就不會(huì)保存在dirty里面。

這里其實(shí)就跟miss邏輯串起來(lái)了,因?yàn)閙iss達(dá)到閾值之后,dirty會(huì)全量變成read,也就是說(shuō)標(biāo)記刪除在這一步最終刪除。這個(gè)還是很巧妙的。

真正的刪除邏輯:

很繞。。。。


分享名稱:go語(yǔ)言練習(xí)推薦 Go語(yǔ)言入門經(jīng)典
分享網(wǎng)址:http://www.dlmjj.cn/article/hhjiod.html