C笔试面试题及答案解析.zip
C笔试面试题及答案解析,不在说第7便。
RocksDB调优指南.docx
本指南的目的是提供你足够的信息用于根据自己的工作负载和系统配置调优RocksDB。
RocksDB非常灵活,这有好也有坏。你可以真多很多工作场景和存储技术进行调优。在Facebook,我们使用相同的代码跑内存工作压力,闪盘设备和机械硬盘。然而,灵活性不总是对用户友好的。我们引入了大量的调优参数,让人疑惑不解。我们希望这个指南会帮助你压榨你的系统的最后一滴性能并且完全利用你的资源。
我们假设你有一定的基础知识,了解LSM工作原理。关于LSM的资源非常多,不需要再写一个了。
RocksDB事务实现TransactionDB分析.docx
RocksDB中的每一条记录(KeyValue)都有一个LogSequenceNumber(后面统称lsn),从最初的0开始,每次写入加1。该值为逻辑量,区别于InnoDB的lsn为redo log物理写入字节量。
这个lsn在RocksDB内部的memtable中是单调递增的,在WriteAheadLog(WAL)中以WriteBatch为单位递增(count(batch.records)为单位)。
WriteBatch是一次RocksDB::Put()的原子操作集合,不同的WriteBatch间是遵循ACID特性(要么完全成功要么完全失败,并且相互隔离),结构如下:
RocksDB的术语表.docx
Iterator: 迭代器,用户使用迭代器按排序顺序查询范围内的key。
Point lookup: 点查询,在RocksDB中,点查找是指使用Get()读取一个键。
Range lookup: 范围查找,范围查找意味着使用迭代器读取一系列键。
SST File(Data file 数据文件/SST table SST表):
SST代表分类序列表。它们是存储数据的持久性文件。在文件中,key是有序的,以便于二分搜索来识别key或迭代位置。
RocksDB 写入流程详解.docx
• 最初的写入流程,继承自 leveldb,多个 写线程组成一个 group, leader 负责 group 的 WAL 及 memtable 的提交,提交完后唤醒所有的 follwer,向上层返回。
• 支持 allow_concurrent_memtable_write 选项,在1的基础上,leader 提交完 WAL 后,group 里所有线程并发写 memtable。原理如下图所示,这个改进在 sync=0的时候,有3倍写入性能提升,在 sync=1时,有2倍性能提升,参考Concurrent inserts and the RocksDB memtable
• 支持 enable_pipelined_write 选项,在2的基础上,引入流水线,第一个 group 的 WAL 提交后,在执行 memtable 写入时,下一个 group 同时开启,已到达 Pipeline 写入的效果
【RocksDB】TransactionDB源码分析.docx
RocksDB的Transaction分为两类:Pessimistic和Optimistic,类似悲观锁和乐观锁的区别,PessimisticTransaction的冲突检测和加锁是在事务中每次写操作之前做的(commit后释放),如果失败则该操作失败;OptimisticTransaction不加锁,冲突检测是在commit阶段做的,commit时发现冲突则失败。
具体使用时需要结合实际场景来选择,如果并发事务写入操作的Key重叠度不高,那么用Optimistic更合适一些(省掉Pessimistic中额外的锁操作)
Visual Assist X for vs2017
Visual Assist X for vs2017 绝对可用!
dll查看工具
查看dll中有哪些函数,dll依赖,dll中其他信息等!
vs2015小助手
vs2015小助手,亲试过绝对能用,vs2017也能用
!!!!!!!!!!!!!!!!!!!
C++ COM 组件 java + jacob 调用,jacob调用详情请看jacob栏
C++ COM 组件 java + jacob 调用,jacob调用详情请看jacob栏
c / c++日志 非常方便,直接包含到项目中!
c日志,使用规则:直接包含到项目中,并且在属性配置-》链接->输入中添加DbgHelp.lib
JAVA + JACOB调用c++COM组件
JAVA + JACOB调用 c++ COM 组件
参数是c++ 中的VARIANT*和BSTR*
c日志 高性能 很好用
c日志 高性能 很好用 这是个开源c日志库,可以签到代码中。
c++ 手动实现COM组件
c++手动开发com组件 c#调用需要转换才能应用:转换如下:
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\NETFX 4.0 Tools>tlbimp.exe E:\Project\Test\SCPIX\SCPIX\Debug\SCPIX.tlb /out:SCPIX.dll
STL源码剖析
STL源码剖析英文版,好书快来下载啊!!!!!!!!!!!!!!!
socket开发宝典
socket开发宝典(国外经典著作)!!!!!!!!!!!!!
Windows 界面设计:拉帘按钮设计
Windows 界面设计:拉帘按钮设计Windows 界面设计:拉帘按钮设计
如何编写类似于Word97的工具栏如何编写类似于Word97的工具栏
如何编写类似于Word97的工具栏如何编写类似于Word97的工具栏如何编写类似于Word97的工具栏
VC编程中如何在界面上实现3D文字VC编程中如何在界面上实现3D文字
VC编程中如何在界面上实现3D文字VC编程中如何在界面上实现3D文字
VC编程实现IE风格的界面VC编程实现IE风格的界面
VC编程实现IE风格的界面VC编程实现IE风格的界面
VC++实现工具栏上添加平面组合框控件
VC++实现工具栏上添加平面组合框控件VC++实现工具栏上添加平面组合框控件
VC++环境下浮动工具条的编程
VC++环境下浮动工具条的编程VC++环境下浮动工具条的编程
VC++环境下菜单和工具栏的动态修改技术
VC++环境下菜单和工具栏的动态修改技术VC++环境下菜单和工具栏的动态修改技术
VC++动态加入和删除菜单的方法!!!!!!!!!!
VC++动态加入和删除菜单的方法!!!!!!!!!!
Toolbar制作菜单条过程详解
Toolbar制作菜单条过程详解Toolbar制作菜单条过程详解
MFC 技巧90例--总结篇(一)妙用!!!!!!!
MFC 技巧90例--总结篇(一)妙用!!!!!!!MFC 技巧90例--总结篇(一)妙用!!!!!!!
VC++ IE控制条的实现妙用!!!!!!!!
IE控制条的实现妙用!!!!!!! VC++ IE控制条的实现妙用!!!!!!!!
A Drag and Drop List Control
A Drag and Drop List Control经典妙用!!!!!!
GISDeveloper_11GISDeveloper_11
GISDeveloper_11GISDeveloper_11
GISDeveloper_9GISDeveloper_9
GISDeveloper_9GISDeveloper_9GISDeveloper_9
GISDeveloper_8
GISDeveloper_7GISDeveloper_8
GISDeveloper_7GISDeveloper_7
GISDeveloper_7GISDeveloper_7GISDeveloper_7
GISDeveloper_6GISDeveloper_6
GISDeveloper_6GISDeveloper_6GISDeveloper_6
GISDeveloper_5GISDeveloper_5
GISDeveloper_5GISDeveloper_5
GISDeveloper_4GISDeveloper_4
GISDeveloper_4GISDeveloper_4
GISDeveloper_3GISDeveloper_3
GISDeveloper_3GISDeveloper_3GISDeveloper_3
GISDeveloper_2GISDeveloper_2
GISDeveloper_2GISDeveloper_2GISDeveloper_2
GISDeveloper_1
GISDevGISDeveloper_1eloper_1GISDeveloper_1
单片机模糊控制系统设计与应用
单片机模糊控单片机模糊控制系统设计与应用制系统设计与应用