mysql
理解bp是資料的管理結構,多個bp相當於把資料進行比如hash的拆分了。
原地寫,每次讀寫,如果不在bp
中,都會從對應的
bp中申請乙個
block。
rocksdb
bp是資料的管理結構,同mysql。
因此從arena中申請記憶體到memtable。但是可以做到比如把in memtable的記錄加入到block_cache中。
但是這裡涉及兩個記憶體池的管理。只能採用記憶體拷貝的方式,不能採用直接移動block的方式,成本有些大。
lss:
刪除鍊錶的節點,關於delete和free
最近溫習鍊錶的知識,看到 c 入門經典 第九版,p528。這裡面講解了鍊錶的刪除節點。delete nodetodelete 用這樣一句話就刪除節點了,十分方便。不過,我還是有些疑問,這是不是太簡單了。然後就查詢了一下,果然有學習到了乙個知識點,我已經會的,忘記了,這次又學一遍,應該不會忘記了。關於...
分析鍊錶翻轉
鍊錶翻轉分兩部分,鍊錶整表翻轉和鍊錶部分翻轉。下面討論非遞迴的做法,遞迴的做法以後有空再說。先說鍊錶整表翻轉,核心四句話 next p.next p.next pre pre p p next 顧名思義,pre是p前面的節點,next是p後面的節點。舉個例子,下圖是乙個鍊錶節點翻轉前的狀態 上面的 ...
鍊錶的通用實現方式
在鍊錶的使用時,結構物件所包含的資料各不相同,所以在鍊錶的儲存需要針對不同的鍊錶物件重複編寫相應的儲存方法,能不能實現一種通用的方式,能夠針對不同的結構物件,實現統一的儲存方法?當然能。一般我們在儲存鍊錶時,都會儲存鍊錶物件結構的首位址,也就是結構指標。在計算機中,對於指標,在32位機器上,實際就是...