問題描述 給定一個鏈表鄙麦,判斷鏈表中是否有環(huán)。 leetcode原題鏈接 問題分析 樸素思維:從頭遍歷鏈表焊虏,每遍歷到一個節(jié)點記錄下來(采用map),遍歷新節(jié)點時發(fā)現(xiàn)map中已經(jīng)...
問題描述 反轉(zhuǎn)一個單鏈表。 示例: 輸入: 1->2->3->4->5->NULL輸出: 5->4->3->2->1->NULL leetcode原題鏈接 問題分析 此題在面...
今天稽鞭,我們要逐步開始討論rabbitmq稍微高級點的耍法了。了解這一步引镊,對我們設(shè)計高并發(fā)的系統(tǒng)非常有用朦蕴。當然,還可以使用kafka弟头。不過還是算了吩抓,有幾個硬性條件不支持,還是用...
本文首先介紹單機百萬并發(fā)的測試方法和測試結(jié)果钳垮,然后分析go語言50行代碼實現(xiàn)的單機百萬并發(fā)網(wǎng)絡(luò)服務(wù)器背后的秘密 組網(wǎng) 采用6臺2核8G內(nèi)存的云主機作為client 采用1臺4...
1假設(shè)現(xiàn)在我們有一個包含 10 億個搜索關(guān)鍵詞的日志文件,如何能快速獲取到熱門榜 Top 10 的搜索關(guān)鍵詞呢额港? 內(nèi)存足夠:采用哈希表統(tǒng)計出每個關(guān)鍵詞出現(xiàn)的次數(shù)饺窿,建立一個大小...
tcp三次握手和四次揮手 為什么需要三次握手 TCP是全雙工的向瓷,即客戶端在給服務(wù)器端發(fā)送信息的同時肠套,服務(wù)器端也可以給客戶端發(fā)送信息。而半雙工的意思是A可以給B發(fā)风罩,B也可以給A...
索引數(shù)據(jù)結(jié)構(gòu)B+樹 在innodb中糠排,表都是根據(jù)主鍵順序以索引的形式存放的,innodb采用B+樹索引模型超升,索引都是存儲在B+樹中的 B+樹的特點: 1 每個節(jié)點中子節(jié)點的個...
http簡介 超文本傳輸協(xié)議入宦,是一個基于請求與響應(yīng),無狀態(tài)的室琢,應(yīng)用層的協(xié)議乾闰,常基于TCP/IP協(xié)議傳輸數(shù)據(jù)盈滴,互聯(lián)網(wǎng)上應(yīng)用最為廣泛的一種網(wǎng)絡(luò)協(xié)議,所有的WWW文件都必須遵守這個...
什么是IO io是數(shù)據(jù)的接收和發(fā)送操作涯肩,linux進程無法直接操作io設(shè)備,需要通過系統(tǒng)調(diào)用請求內(nèi)核來完成io操作巢钓,內(nèi)核為每個設(shè)備維護一個緩沖區(qū)病苗。用戶進程發(fā)送操作的一個完整i...
虛擬內(nèi)存概念 linux內(nèi)核給每個進程都提供了一個獨立的連續(xù)的虛擬地址空間。進程訪問虛擬內(nèi)存地址時不需要考慮會不會跟其他進程沖突症汹,操作系統(tǒng)負責將每個進程的虛擬內(nèi)存映射到物理內(nèi)...
0號進程硫朦、1號進程、2號進程 0號進程為idel進程背镇,由系統(tǒng)創(chuàng)建咬展,是唯一一個沒有通過fork或者kernel_thread產(chǎn)生的進程 Linux idle進程 - 思禽 -...