摘要:启用内存泄漏检测 检测内存泄漏是 C/c + + 调试器和 C 运行时库 (CRT) 的主要工具调试堆函数。 若要启用调试堆的所有函数,在 c + + 程序中,按以下顺序包含以下语句: C++复制 #define 语句将 CRT 堆函数的基础版本映射到对应的调试版本。 如果您忽略#define语句,
阅读全文
摘要:起因 接收到一个UNITY文件处理的任务(c#逻辑代码存放的Assembly-CSharp.dll可热更等需求) 需要重新编译UNITY的mono模块 用于安卓环境下对DLL的定制处理 上网查阅了一些资料,经过多次尝试,得出以下编译成功的环境 ubuntu 16 32位(32位推荐 似乎脚本在X64
阅读全文
摘要:随着运行时间的增加,memtable会慢慢 转化成 sstable。 sstable会越来越多 我们就需要进行整合 compact 代码会在写入查询key值 db写入时等多出位置调用MaybeScheduleCompaction () 检测是否需要进行compact 实际进行compact的函数是
阅读全文
摘要:使用TableBuilder构造一个Table TableBuilder头文件 主要是按照格式填充 这里做了简单的注释 参考 https://blog.csdn.net/tankles/article/details/7663918 《leveldb实现解析》淘宝 那岩
阅读全文
摘要:block结构示意图 sstable中Block 头文件如下: 重启点在上个章节已经介绍过了 "“重启点”是干什么的呢?简单来说就是进行数据压缩,减少存储空间。我们一再强调,Block内容里的KV记录是按照Key大小有序的,这样的话,相邻的两条记录很可能Key部分存在重叠,比如key i=“the
阅读全文
摘要:本节主要记录SSTable的结构 为下一步代码阅读打好基础,考虑到已经有大量优秀博客解析透彻 就不再编写了 这里推荐 https://blog.csdn.net/tankles/article/details/7663905 levelDB源码分析-SSTable SSTable是Bigtable中
阅读全文
摘要:前文记录 leveldb 学习记录(一) skiplistleveldb 学习记录(二) Sliceleveldb 学习记录(三) MemTable 与 Immutable Memtableleveldb 学习记录(四) skiplist补完 KV数据库中 大部分是采用内存存储,如果中途发生意外情况
阅读全文
摘要:终于抽出时间来进行 BITTORRENT的学习了 BT想必大家都很熟悉了,是一种文件分发协议。每个下载者在下载的同时也在向其他下载者分享文件。 相对于FTP HTTP协议,BT并不是从某一个或者几个指定的点进行文件下载,而是用户之间进行交互,每个用户既是下载者也是上传者. BT并不会出现提供下载的服
阅读全文