什么是 I/O 多路復(fù)用:I/O 多路復(fù)用指的是可以通過某種機制暮胧,監(jiān)視多個文件描述符,一旦某個文件描述符準備就緒后钞翔,就能夠通知程序進行相關(guān)的讀寫操作席舍,目前 I/O 多路復(fù)用機...
什么是 I/O 多路復(fù)用:I/O 多路復(fù)用指的是可以通過某種機制暮胧,監(jiān)視多個文件描述符,一旦某個文件描述符準備就緒后钞翔,就能夠通知程序進行相關(guān)的讀寫操作席舍,目前 I/O 多路復(fù)用機...
ARQ 協(xié)議是一個自動重傳請求協(xié)議来颤,主要通過確認和超時兩個機制,在不可靠服務(wù)的基礎(chǔ)上實現(xiàn)可靠信息的發(fā)送东且。如果發(fā)送方在發(fā)送后的一段時間沒有接收到確認,則會自動再次重新發(fā)送珊泳,AR...
Cookie 和 Session 都是會話技術(shù),Cookie 運行在客戶端撞芍,Session 運行在服務(wù)器端 Cookie 的大小有限制,并且瀏覽器對保存 Cookie 的個數(shù)...
檢驗和:這是一個端到端的檢驗和帝嗡,目的是用于檢測數(shù)據(jù)在傳輸過程中有沒有發(fā)生變化,如果接受到的 TCP 報文段檢驗和發(fā)生了差別哟玷,那么 TCP 會丟棄這個報文段 流量控制:TCP ...
TCP 是面向連接的喉脖,可靠性高一些抑月;UDP 是基于非連接的,可靠性低一些 由于 TCP 是面向連接的通信谦絮,需要三次握手须误、確認連接等過程仇轻,會有延時,實時性差一些祭椰,并且建立連接的...
MySQL 主從復(fù)制原理:主庫(Master) 有一個 I/O 線程,從庫(Slave) 有一個 I/O 線程和 SQL 線程蹄殃,從庫的 I/O 線程負責(zé)讀取主庫的 binlo...
PHP 中的所有變量都是被存儲在 zval 變量容器中讳苦,在 zval 變量容器中主要是包含 變量名吩谦、變量值、變量類型 Type咐扭、以及另外兩個額外的字段 is_ref滑废、refc...
PHP 數(shù)組的底層主要是通過 HashTable 實現(xiàn)薛闪,HashTable 通過映射函數(shù)或者散列函數(shù)將 String Key 轉(zhuǎn)換成一個普通的數(shù)字下標(biāo)妻导,然后再將 Value ...
MySQL 用于衡量數(shù)據(jù)查詢的效率是 磁盤 I/O 次數(shù),一般來講索引比較大瓢对,尤其是對于關(guān)系型數(shù)據(jù)庫這種數(shù)據(jù)量俺的所以能達到億級別的,為了節(jié)省內(nèi)存的使用硕蛹,一般會將索引存儲到...
共享鎖:共享鎖是讀鎖,是在執(zhí)行讀取操作的時候創(chuàng)建的倔毙。如果事務(wù) T 對 數(shù)據(jù) A 添加了共享鎖乙濒,那么其他事務(wù)只能再對數(shù)據(jù) A 添加 共享鎖而不能添加其他類型的鎖陕赃,對于已經(jīng)添加了...
redis 常見的數(shù)據(jù)結(jié)構(gòu)類型主要包含五種:String宇智、Hash蔓搞、List随橘、Set喂分、Sorted Set String String 數(shù)據(jù)結(jié)構(gòu)是最簡單的 Key->Valu...
LRU 是一個緩存置換算法,在緩存有限的情況下机蔗,如果有新的數(shù)據(jù)加載至緩存蒲祈,則需要考慮將不會再繼續(xù)被訪問的數(shù)據(jù)剔除掉,但是緩存是否會被訪問是沒有辦法預(yù)測的萝嘁,所以梆掸,LRU 是基于...
1.redis 服務(wù)器主進程調(diào)用 fork() 函數(shù)酸钦,生成一個子進程2.redis 服務(wù)器主進程可以繼續(xù)處理來自其他客戶端的請求,子進程將內(nèi)存中的數(shù)據(jù)寫入到一個臨時的 rdb...
數(shù)據(jù)結(jié)構(gòu)是算法的基石咱枉,如果沒有扎實的數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)卑硫,要想把算法學(xué)好甚至融會貫通是非常困難的徒恋,而優(yōu)秀的算法又往往取決于你采用哪種數(shù)據(jù)結(jié)構(gòu) 數(shù)組、字符串(Array & Strin...
棧的定義 在我們軟件應(yīng)用中欢伏,棧這種 后進先出 的數(shù)據(jù)結(jié)構(gòu)應(yīng)用非常廣泛入挣。比如最常見到的瀏覽器,在使用瀏覽器訪問網(wǎng)頁時我們會發(fā)現(xiàn)無論是什么瀏覽器都會有一個 后退 鍵硝拧,點擊后退鍵可...
這篇文章開啟線性表的大版本更新2.0----循環(huán)鏈表 單循環(huán)鏈表 由前面關(guān)于單鏈表的介紹我們知道径筏,在單鏈表中每個結(jié)點都只存儲了下一個結(jié)點的存儲地址,直到尾結(jié)點為 NULL河爹,我...
這篇文章依然介紹線性表的鏈式存儲結(jié)構(gòu)-單鏈表 單鏈表的整表創(chuàng)建 線性表順序存儲結(jié)構(gòu)的創(chuàng)建匠璧,其實就是一個數(shù)組的初始化,即聲明一個類型和容量確定的數(shù)組并賦值的過程咸这。單鏈表和線性表...
順序存儲結(jié)構(gòu)不足的解決辦法 通過 線性表之?dāng)?shù)組 這篇文章的介紹夷恍,我們知道線性表的順序存儲是有缺點的,最大的缺點就是 插入媳维、刪除時需要移動大量元素酿雪,對于像數(shù)組這樣在編程中常用的...
數(shù)組在開發(fā)中是我們最常見的一種數(shù)據(jù)結(jié)構(gòu),數(shù)組也是最重要的數(shù)據(jù)結(jié)構(gòu)之一侄刽,剛開始接觸編程的時候我就有一個疑惑:數(shù)組的下標(biāo)為什么是從 0 開始的指黎,而不是從 1 開始,這樣不是更加直...