04 2025 档案

摘要:整个文章其实并没有讲解太多地细节方面的事情,主要是理一下大致的逻辑, 大致存什么, 和有关的对象的粗略介绍,主要是为了建立对各个对象的直观认识,知道它是什么,我觉得对后面更细节的分析也是有一定帮助的 1. 如何调用到 CompactMemTable() 上一部分我们讲到了 MaybeSchedule 阅读全文
posted @ 2025-04-06 09:39 rustic-stream 阅读(37) 评论(0) 推荐(0)
摘要:简单地过一下 levelDB 中 dbimpl.cc 中的 write 逻辑 首先需要说明的就是当我们调用 DBImpl::Put 操作的时候,实际上他会调用 DB::Put 默认的实现,调用到对应的 DBImpl::Write 操作。 简单地过一些对应的步骤,主要是分成了 4 个大部分吧 第一部分 阅读全文
posted @ 2025-04-04 09:34 rustic-stream 阅读(29) 评论(0) 推荐(0)
摘要:这篇文章是对《STL源码剖析》第二章空间配置器的笔记,并没有记录地非常细致,主要记录一些点,如果想看细节读原文是最好的 为什么需要空间配置器 首先我们要理解为什么我们需要空间配置器,从一个简单的自己实现的 vector 开始 vector(int size = 10) { _first = new 阅读全文
posted @ 2025-04-03 19:44 rustic-stream 阅读(33) 评论(0) 推荐(0)
摘要:在 03. 无锁栈的内存管理 我们讨论了两种检测是否节点可以被删除的方法:reference count 和 hazard pointers 方法,但是事实上是它们的管理方式比较复杂,需要考虑的比较多,而说到生命周期的管理,我们很自然而然地会想到类似 std::shared_ptr<> 的使用,所以 阅读全文
posted @ 2025-04-01 07:45 rustic-stream 阅读(56) 评论(0) 推荐(0)