leveldb的数据存储采用LSM的思想,将随机写入变为顺序写入,记录写入操作日志,一旦日志被以追加写的形式写入硬盘,就返回写入成功,由后台线程将写入日志作用于原有的磁盘文件生成新的磁盘数据.Leveldb在内存中维护一个数据结构memtable,采用skiplist来实现,保存当前写入的数据,当数 ...
分类:
数据库 时间:
2018-01-18 13:27:18
阅读次数:
303
在Linux上leveldb的安装和使用中我们写了一个测试代码,内容如下: 其中db.h中定义了leveldb对外接口,定义了class DB,这个类只是一个接口类,leveldb::DB::Open操作来自leveldb源代码db文件夹下db_impl.cc文件,源码内容如下: DB::Open函 ...
分类:
数据库 时间:
2018-01-15 22:32:53
阅读次数:
226
源码下载 项目结构 db/, 数据库逻辑 doc/, MD文档 helpers/, LevelDB内存版, 通过namespace覆盖 port/, 平台相关代码 table/, LSM有关的 主要模块 Log 文件 客户端的写请求会先 append 到 Log 文件,成功后再写入到 Memtabl ...
分类:
数据库 时间:
2018-01-15 14:51:30
阅读次数:
186
MapBuilder的成员变量sensor::Collator sensor_collator_; 再次阅读MapBuilder::AddTrajectoryBuilder方法。首先构造了mapping::GlobalTrajectoryBuilder单例,接着作为参数构造了CollatedTraj ...
分类:
其他好文 时间:
2018-01-10 22:52:19
阅读次数:
229
一、前言 这次我们来看一下常见的List中的第二个——LinkedList,在前面分析ArrayList的时候,我们提到,LinkedList是链表的结构,其实它跟我们在分析map的时候讲到的LinkedHashMap的结构有一定的相似,但是相对简单很多,今天再详细的看一下它的具体结构,以及使用的场 ...
分类:
其他好文 时间:
2018-01-07 15:58:48
阅读次数:
150
前言 cjson 的代码只有 1000+ 行, 而且只是简单的几个函数的调用。 而且 cjson 还有很多不完善的地方, 推荐大家看完之后自己实现一个 封装好的功能完善的 cjson 程序。 json 基本信息 在阅读 json 之前, 建议阅读一下 json 的官方介绍。 如果上面的英文吓到你了的 ...
分类:
Web程序 时间:
2017-12-31 10:56:23
阅读次数:
255
上文提到特别注意map_builder_bridge_.AddTrajectory(x,x),查看其中的代码。 其中map_builder_.AddTrajectoryBuilder(...)是Cartographer项目中的代码了。 ...
分类:
其他好文 时间:
2017-12-28 23:26:44
阅读次数:
405
分布式分析引擎和分布式存储结合是一种趋势也是种必然,SQL依然是事实上的标准,在NewSQL时代成功完成王者归来。 ...
分类:
其他好文 时间:
2017-12-28 16:08:32
阅读次数:
159
带着几个思考问题: (1)IMU数据的使用,如何融合,Kalman滤波? (2)图优化的具体实现,闭环检测的策略? (3)3D激光的接入和闭环策略? 1. 安装Kdevelop工具: http://blog.csdn.net/p942005405/article/details/75715288 h ...
分类:
其他好文 时间:
2017-12-28 14:01:32
阅读次数:
180
本文目标在于记录在FreeCAD源码阅读中了解到的一些东西。 FreeCAD编译 FreeCAD源码的编译最好使用官方提供的LibPack,否则第三方库难以找全,找到之后还需要自己编译,此外还不知道CMake是否能够那么顺利找好(find_package)自己设的第三方库。采用官方提供的LibPac ...
分类:
其他好文 时间:
2017-12-22 13:35:05
阅读次数:
800