目錄 引子 認(rèn)識(shí)跳表跳表的提出由二叉樹回歸鏈表設(shè)計(jì)思想與查找流程插入元素的概率性復(fù)雜度分析 Redis的跳表實(shí)現(xiàn)從zset到zskiplist創(chuàng)建zskiplist向zski...
目錄 引子 認(rèn)識(shí)跳表跳表的提出由二叉樹回歸鏈表設(shè)計(jì)思想與查找流程插入元素的概率性復(fù)雜度分析 Redis的跳表實(shí)現(xiàn)從zset到zskiplist創(chuàng)建zskiplist向zski...
IO多路復(fù)用是指內(nèi)核一旦發(fā)現(xiàn)進(jìn)程指定的一個(gè)或者多個(gè)IO條件準(zhǔn)備讀取,它就通知該進(jìn)程惫企。IO多路復(fù)用適用如下場(chǎng)合: 當(dāng)客戶處理多個(gè)描述符時(shí)(一般是交互式輸入和網(wǎng)絡(luò)套接口)晃虫,必須使...
前言 Map 這樣的 Key Value 在軟件開發(fā)中是非常經(jīng)典的結(jié)構(gòu),常用于在內(nèi)存中存放數(shù)據(jù)豫缨。 本篇主要想討論 ConcurrentHashMap 這樣一個(gè)并發(fā)容器,在正式...
分別運(yùn)行訂閱模式和P2P模式杈抢,可以發(fā)現(xiàn)数尿,P2P模式缺省把消息進(jìn)行持久化,而topic模式是沒(méi)有的惶楼。一般topic模式實(shí)驗(yàn):1右蹦、 啟動(dòng)兩個(gè)消費(fèi)者虏缸,啟動(dòng)一個(gè)生產(chǎn)者,發(fā)送消息嫩实,兩...
責(zé)任鏈模式是將請(qǐng)求的處理對(duì)象像一條鏈條組合起來(lái),形成對(duì)象鏈球及。這樣做的好處就是請(qǐng)求并不需要知道處理對(duì)象是哪一個(gè)氧骤,實(shí)現(xiàn)了請(qǐng)求和處理對(duì)象的解耦。 首先先看使用責(zé)任鏈經(jīng)典的三個(gè)地方1...
前言 前天看redis相關(guān)的博文里面提到了epoll,就搜了一下,發(fā)現(xiàn)這篇文章Linux IO模式及 select筹陵、poll、epoll詳解,講的很好,收獲很大.這里根據(jù)自己...
在上一篇文檔中鲫惶,通過(guò)java實(shí)現(xiàn)了單鏈表反轉(zhuǎn)的問(wèn)題,之后發(fā)現(xiàn)一個(gè)更有意思的問(wèn)題就是如何判斷兩個(gè)鏈表是否相交实抡?如果相交欠母,則需要得到交點(diǎn)。對(duì)于這個(gè)問(wèn)題吆寨,需要分別考慮鏈表上是否存在...