自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 资源 (6)
  • 收藏
  • 关注

原创 leveldb学习笔记之九——include/leveldb/cache.h

cache创建了一个给定尺寸的缓存,该缓存使用最近最少使用的逐出原则。源码如下:class LEVELDB_EXPORT Cache {public: Cache() = default; //设置默认构造函数 Cache(const Cache&) = delete; //禁止拷贝构造 Cache& operator=(const ...

2019-03-28 11:27:58 298

原创 leveldb学习笔记之八——include/leveldb/comparator.h

comparator是一个抽象类,它提供slice的比较,它必须是线程安全的,因为leveldb会从多个线程调用其中的方法。代码如下:class LEVELDB_EXPORT Comparator { public: virtual ~Comparator(); //比较的返回值: // "a" < "b",返回值小于0 // "a"=="b",返回值等于0 //...

2019-03-27 16:51:53 388

原创 leveldb学习笔记之七——util/coding.h

coding.h中主要是与编码相关的内容,主要选取以下几个函数进行分析:EncodeFixed32void EncodeFixed32(char* buf, uint32_t value) { if (port::kLittleEndian) { //小端次序直接使用memcpy memcpy(buf, &value, sizeof(value)); } else ...

2019-03-21 15:32:03 510

原创 leveldb学习笔记之六——db/memtable.h

db数据在内存中的存储格式,写操作的数据都会先写到memtable中类class MemTable {public: //构造函数,不允许隐式转换,参数为内部key比较器 explicit MemTable(const InternalKeyComparator& comparator); //引用计数 void Ref() { ++refs_; } ...

2019-03-21 13:59:12 297

原创 leveldb学习笔记之五——include/leveldb/write_batch.h

WriteBatch主要是用来对多个数据进行批量写入。依赖关系writeBatch类主要依赖于以下几个类,如图:其中,Handler为抽象类,定义了put和delete接口。WriteBatchInternal类为writebatch的实现。MemTableInserter为Handler的具体实现,实现具体的put和delete操作。此处使用了抽象工厂模式,即Handler为抽象工厂,...

2019-03-19 15:07:00 702

原创 leveldb学习笔记之四——include/leveldb/slice.h

在真正开始研究leveldb的存储过程之前,先来研究一下相关的结构,首先是slice。为了操作方便,leveldb将数据和长度包装成了slice使用,至于为什么要这么做,估计是两位大神是为了效率的提升,避免一些不必要的操作吧。class LEVELDB_EXPORT Slice {public: //创建一个空slice Slice() : data_(""), size_(0)...

2019-03-19 10:52:16 347

原创 leveldb学习笔记之三——include/leveldb/db.h

此文件为leveldb的c++接口文件,用c++的方式调用leveldb只需要包含此文件即可。在此文件中定义了leveldb对外的接口DB,其具体的实现由db/db_impl.h中的DBImpl类实现。DB的定义如下:class LEVELDB_EXPORT DB {public: //打开数据库 static Status Open(const Options&amp; option...

2019-03-18 15:17:29 1694

原创 leveldb学习笔记之二——源码目录结构

说明从今天开始,将正式进入leveldb源码的学习。leveldb主要采用c++实现,整体代码比较规范,除了学习存储相关的原理,还可以学习c++相关的知识,提升c++的技巧。目录leveldb的目录结构如下:cmake:cmake的相关文件;db:主要逻辑的实现,也将是我们重点分析的地方;doc:文档;helpers/memenv:简单完全内存的文件系统,提供操作目录文件接口;i...

2019-03-15 13:45:19 779

原创 leveldb学习笔记之一——clion调用leveldb使用示例

前言2018年杀入区块链,算是接触了分布式、数据存储这一系列的知识,前段时间接触某手机厂商的技术人员,才发现自己在存储方面知识的不足,因此这段时间准备沉下心来学习学习。接下来就从leveldb开始,来研究研究其相关机制,不求看的人多,但求自勉而已。而立未立,却又要进入人到中年的尴尬,但是不管到什么年级,对于一个it从业人员来说,提升技术都不可辜负!工具选择工欲善其事必先利其器,高效的工具能...

2019-03-14 11:26:53 1963

原创 c标准库总结

c标准库前言学习c语言十几年了,却从来没有完整的将c标准库看一看,我想在这一点上我是欠缺的。作为一个技术人员,无论什么时候都不能忘记自己最擅长的技能,这次借一个偶然的契机,翻一翻c标准库,希望以后自己在技术上越来越牛。说明c++库和c库包含相同的结构体的定义,其区别主要如下:每个头文件与c语言版本具有相同的名称,但是带有“c”前缀,没有扩展文件名。例如:c语言头文件&amp;lt;stdio....

2019-03-14 10:28:54 10805 2

web assembly-003-1 Assembly之实现康威生命游戏设计.avi

推荐给rust学习爱好者

2021-07-21

web assembly-002 安装Rust和WebAssembly工具链和helloworld.avi

rust学习爱好者

2021-07-21

001-2 Rust和WebAssembly初体验.avi

适合于rust学习者

2021-07-20

web assembly-001学习内容说明

适合于rust的学习者

2021-07-20

mp4v2封装h264

mp4v2封装h264

2017-06-13

lcd驱动原理ppt

这个是介绍lcd液晶屏驱动的基本原理,便于读者理解lcd驱动的基本情况 但是本资料仅限于基本原理

2010-04-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除