日韩精品久久久免费观看夜色,成人午夜视频在线观看,国产h视频在线观看网站免费 360doc--圣地亞哥rqb0dv的文章 http://gongjishe.com/rssperson/65732374.aspx 360doc (http://gongjishe.com) zh-cn 360doc--個(gè)人圖書館 概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)的區(qū)別 http://gongjishe.com/content/20/1016/22/71955730_940847843.shtml 2022/8/15 15:40:11
概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)的區(qū)別。概要設(shè)計(jì)承接軟件需求,所以概要設(shè)計(jì)可以由需求分析人員(熟悉軟件需求)編寫或者設(shè)計(jì)人員(站在設(shè)計(jì)的角度)來(lái)編寫,而詳細(xì)設(shè)計(jì)下后續(xù)軟件實(shí)現(xiàn),它可以由設(shè)計(jì)人員(站在設(shè)計(jì)的角度)編寫,也可以由實(shí)現(xiàn)人員(站在實(shí)現(xiàn)的角度)來(lái)編寫。概要設(shè)計(jì)依據(jù)軟件需求進(jìn)行設(shè)計(jì),而詳細(xì)設(shè)計(jì)不僅依據(jù)軟件需求,更要依據(jù)概要設(shè)計(jì)的成果。設(shè)計(jì)方法概要設(shè)計(jì)詳細(xì)設(shè)計(jì)。在面向?qū)ο笤O(shè)計(jì)中,概要設(shè)計(jì)要將軟件拆分到包和類。
深入Golang之sync.Pool詳解 http://gongjishe.com/content/20/0416/23/65732374_906532216.shtml 2020/4/16 23:38:20
深入Golang之sync.Pool詳解。我們通常用golang來(lái)構(gòu)建高并發(fā)場(chǎng)景下的應(yīng)用,但是由于golang內(nèi)建的GC機(jī)制會(huì)影響應(yīng)用的性能,為了減少GC,golang提供了對(duì)象重用的機(jī)制,也就是sync.Pool對(duì)象池。func (p *Pool) Get() interface{} {if race.= nil {race.可以看到在init的時(shí)候注冊(cè)了一個(gè)PoolCleanup函數(shù),他會(huì)清除掉sync.Pool中的所有的緩存的對(duì)象,這個(gè)注冊(cè)函數(shù)會(huì)在每次GC的時(shí)候運(yùn)行,所以sync.Pool中的值只在兩次GC中間的時(shí)段有效。
crawshaw http://gongjishe.com/content/20/0410/10/65732374_905013661.shtml 2020/4/10 10:28:29
crawshawSharp-Edged Finalizers in Go.package db func Open(path string, flags OpenFlags) (*Conn, error) {// ...runtime.SetFinalizer(conn, func(conn *Conn) {panic("open db connection never closed")})return conn, nil}func (c *Conn) Close() {// ...runtime._, file, line, _ := runtime.Caller(1)runtime.SetFinalizer(conn, func(conn *Conn) {panic(fmt.
在 Go 中使用 finalizers 比不使用更好 http://gongjishe.com/content/20/0410/10/65732374_905013567.shtml 2020/4/10 10:28:04
在不使用 finalizer 的情形下,如果一個(gè) token 超過(guò)作用范圍并在垃圾回收中未被回收,我們將永久泄露此 C-allocated 內(nèi)存。(與此同時(shí),這些實(shí)用角度是真實(shí)存在的 ;正如 David Crawshaw 所言,依賴內(nèi)存垃圾回收來(lái)垃圾收集被耗盡之前的其他資源是極其危險(xiǎn)的。David Crawshaw 跟進(jìn)發(fā)表了一篇文章 -《銳利的 Go Finalizers》, 這篇文章中他主張,當(dāng)人們不能正確使用你的 APIs 時(shí)使用 finalizers 來(lái)強(qiáng)制恐慌。
Golang http://gongjishe.com/content/20/0309/16/65732374_897957901.shtml 2020/3/9 16:11:03
Printf("%p -- %v \n", fragment2,fragment2)(*fragment2).Printf("%p -- %v \n", fragment2,fragment2)}OUT:0xc042060080 -- {1} 0xc0420600b00xc042060080 -- {1} 0xc0420600c00xc042060080 -- {1} ----------------------------0xc0420600d0 -- &{1} 0xc0420600d00xc0420600d0 -- &{10} 0xc0420600d00xc0420600d0 -- &{10}type Fragment interface {Exec()}type FragmentImp struct {i int}func (f *FragmentImp) Exec() {fmt.
Linux SVN 命令詳解 http://gongjishe.com/content/19/1226/15/65732374_882334583.shtml 2019/12/26 15:32:34
Linux SVN 命令詳解。注:svn status、svn diff和 svn revert這三條命令在沒(méi)有網(wǎng)絡(luò)的情況下也可以執(zhí)行的,原因是svn在本地的.svn中保留了本地版本的原始拷貝。7、刪除文件 svn delete path -m "delete test fle" 例如:svn delete svn://192.168.1.1/pro/domain/test.php -m "delete test file" 或者直接svn delete test.php 然后再svn ci -m ''''''''delete test file‘,推薦使用這種簡(jiǎn)寫:svn (del, remove, rm)
Go的json解析:Marshal與Unmarshal http://gongjishe.com/content/19/1207/16/65732374_878091863.shtml 2019/12/7 16:59:24
type Stu struct { Name interface{} `json:"name"` Age interface{} HIgh interface{} sex interface{} Class interface{} `json:"class"`}type Class struct { Name string Grade int}func main() { //與前面的例子一樣 ......}反之指定初始長(zhǎng)度,長(zhǎng)度不夠時(shí)不會(huì)自動(dòng)增長(zhǎng),導(dǎo)致數(shù)據(jù)丟失stus1 := appen(stus1,stu1,stu2)stus2 := appen(stus2,stu1,stu2)//成功編碼json1,_ := json.Marshal(stus1)json2,_ := json.Marshal(stus2)
Linux學(xué)習(xí)筆記(二):什么是掛載?mount的用處在哪? http://gongjishe.com/content/19/1105/09/65732374_871177336.shtml 2019/11/5 9:00:50
5.這時(shí)提問(wèn)者使用了 mount /dev/sdb1 ~/Share/ ,把新硬盤的區(qū)sdb1掛載到工作目錄的~/Share/文件夾下,之后訪問(wèn)這個(gè)~/Share/文件夾就相當(dāng)于訪問(wèn)這個(gè)硬盤2的sdb1分區(qū)了。6.所以Linux下,mount掛載的作用,就是將一個(gè)設(shè)備(通常是存儲(chǔ)設(shè)備)掛接到一個(gè)已存在的目錄上。我們要訪問(wèn)存儲(chǔ)設(shè)備中的文件,必須將文件所在的分區(qū)掛載到一個(gè)已存在的目錄上,然后通過(guò)訪問(wèn)這個(gè)目錄來(lái)訪問(wèn)存儲(chǔ)設(shè)備。雖然/dev是個(gè)目錄,但/dev/sdb1不是目錄。
Linux C/C++ 方向?qū)W習(xí)經(jīng)驗(yàn)【轉(zhuǎn)】 http://gongjishe.com/content/19/1030/18/65732374_870103039.shtml 2019/10/30 18:08:00
Linux C/C++ 方向?qū)W習(xí)經(jīng)驗(yàn)【轉(zhuǎn)】Linux 網(wǎng)絡(luò)編程:1、Linux 進(jìn)程環(huán)境:僵尸進(jìn)程、孤兒進(jìn)程、守護(hù)進(jìn)程、進(jìn)程組、會(huì)話、前臺(tái)進(jìn)程組、后臺(tái)進(jìn)程組2、Linux 進(jìn)程七大通信方式:signal、file、pipe、shm、sem、msg、socket3、Linux 線程:互斥量、鎖機(jī)制、條件變量、信號(hào)量、讀寫鎖4、Linux 下并發(fā)模型:多進(jìn)程、多線程、線程池5、Linux 下 I/O 復(fù)用:select、poll、epoll 高并發(fā)6、Linux 網(wǎng)絡(luò)編程7、靜態(tài)庫(kù)和動(dòng)態(tài)庫(kù)。
紅黑樹 http://gongjishe.com/content/19/0818/19/65732374_855706353.shtml 2019/8/18 19:30:17
5.從任一節(jié)點(diǎn)到其葉子節(jié)點(diǎn)的所有路徑上都包含相同數(shù)目的黑節(jié)點(diǎn)。若N為黑色,另一個(gè)節(jié)點(diǎn)也為NULL,則把N刪掉,該位置置為NULL,顯然這個(gè)黑節(jié)點(diǎn)被刪除了,破壞了性質(zhì)5,那么要以N節(jié)點(diǎn)為起始點(diǎn)檢索看看屬于那種情況,并作相應(yīng)的操作,另還需說(shuō)明N為黑點(diǎn)(也許是NULL,也許不是,都一樣),P為父節(jié)點(diǎn),S為兄弟節(jié)點(diǎn)(這個(gè)我真想給兄弟節(jié)點(diǎn)叫B(brother)多好啊,不過(guò)人家圖就是S我也不能改,在重畫圖,太浪費(fèi)時(shí)間了!
紅黑樹 http://gongjishe.com/content/19/0818/18/65732374_855699793.shtml 2019/8/18 18:39:24
5.從任一節(jié)點(diǎn)到其葉子節(jié)點(diǎn)的所有路徑上都包含相同數(shù)目的黑節(jié)點(diǎn)。若N為黑色,另一個(gè)節(jié)點(diǎn)也為NULL,則把N刪掉,該位置置為NULL,顯然這個(gè)黑節(jié)點(diǎn)被刪除了,破壞了性質(zhì)5,那么要以N節(jié)點(diǎn)為起始點(diǎn)檢索看看屬于那種情況,并作相應(yīng)的操作,另還需說(shuō)明N為黑點(diǎn)(也許是NULL,也許不是,都一樣),P為父節(jié)點(diǎn),S為兄弟節(jié)點(diǎn)(這個(gè)我真想給兄弟節(jié)點(diǎn)叫B(brother)多好啊,不過(guò)人家圖就是S我也不能改,在重畫圖,太浪費(fèi)時(shí)間了!
tcp連接全過(guò)程各種狀態(tài)詳解 http://gongjishe.com/content/19/0810/16/65732374_854076475.shtml 2019/8/10 16:34:12
CLOSED:LISTEN:SYN_RCVD:SYN_SENT:ESTABLISHED:FIN_WAIT_1:FIN_WAIT_2:TIME_WAIT:CLOSING:CLOSE_WAIT:LAST_ACK:簡(jiǎn)單介紹。服務(wù)器收到客戶端的報(bào)文后向客戶端發(fā)送ACK和SYN報(bào)文,此時(shí)服務(wù)器的狀態(tài)變?yōu)镾YN_RCVD。而當(dāng)對(duì)方回應(yīng)ACK報(bào)文后,則進(jìn)入到FIN_WAIT_2狀態(tài),當(dāng)然在實(shí)際的正常情況下,無(wú)論對(duì)方何種情況下,都應(yīng)該馬上回應(yīng)ACK報(bào)文,所以FIN_WAIT_1狀態(tài)一般是比較難見(jiàn)到的,而FIN_WAIT_2狀態(tài)還有時(shí)常常可以用netstat看到。
TCP中的RST標(biāo)志(Reset)詳解 http://gongjishe.com/content/19/0810/15/65732374_854064097.shtml 2019/8/10 15:31:32
TCP中的RST標(biāo)志(Reset)詳解。在談RST攻擊前,必須先了解TCP:如何通過(guò)三次握手建立TCP連接、四次握手怎樣把全雙工的連接關(guān)閉掉、滑動(dòng)窗口是怎么傳輸數(shù)據(jù)的、TCP的flag標(biāo)志位里RST在哪些情況下出現(xiàn)。之后,序號(hào)的值會(huì)不斷的增加,比如原來(lái)的序號(hào)是100,如果這個(gè)TCP包的數(shù)據(jù)有10個(gè)字節(jié),那么下次的TCP包序號(hào)會(huì)變成110。A和服務(wù)器B之間建立了TCP連接,此時(shí)C偽造了一個(gè)TCP包發(fā)給B,使B異常的斷開(kāi)了與A之間的TCP連接,就是RST攻擊了。