目錄 引子 認識跳表跳表的提出由二叉樹回歸鏈表設計思想與查找流程插入元素的概率性復雜度分析 Redis的跳表實現(xiàn)從zset到zskiplist創(chuàng)建zskiplist向zski...
目錄 引子 認識跳表跳表的提出由二叉樹回歸鏈表設計思想與查找流程插入元素的概率性復雜度分析 Redis的跳表實現(xiàn)從zset到zskiplist創(chuàng)建zskiplist向zski...
IO多路復用是指內核一旦發(fā)現(xiàn)進程指定的一個或者多個IO條件準備讀取笑陈,它就通知該進程纽什。IO多路復用適用如下場合: 當客戶處理多個描述符時(一般是交互式輸入和網(wǎng)絡套接口)楼吃,必須使...
前言 Map 這樣的 Key Value 在軟件開發(fā)中是非常經(jīng)典的結構旅急,常用于在內存中存放數(shù)據(jù)赁严。 本篇主要想討論 ConcurrentHashMap 這樣一個并發(fā)容器扰柠,在正式...
分別運行訂閱模式和P2P模式,可以發(fā)現(xiàn)织鲸,P2P模式缺省把消息進行持久化舔腾,而topic模式是沒有的。一般topic模式實驗:1搂擦、 啟動兩個消費者稳诚,啟動一個生產(chǎn)者,發(fā)送消息瀑踢,兩...
責任鏈模式是將請求的處理對象像一條鏈條組合起來,形成對象鏈呈础。這樣做的好處就是請求并不需要知道處理對象是哪一個舆驶,實現(xiàn)了請求和處理對象的解耦。 首先先看使用責任鏈經(jīng)典的三個地方1...
前言 前天看redis相關的博文里面提到了epoll,就搜了一下,發(fā)現(xiàn)這篇文章Linux IO模式及 select沙廉、poll、epoll詳解,講的很好,收獲很大.這里根據(jù)自己...
在上一篇文檔中绷柒,通過java實現(xiàn)了單鏈表反轉的問題志于,之后發(fā)現(xiàn)一個更有意思的問題就是如何判斷兩個鏈表是否相交?如果相交废睦,則需要得到交點恨憎。對于這個問題,需要分別考慮鏈表上是否存在...