- 博客(12)
- 收藏
- 关注
转载 Rocksdb的优劣及应用场景分析
Rocksdb的优劣及应用场景分析Rocksdb也是一样,也有它的优势劣势及特定的适用场景。今天我就从设计的角度来分析一下。基础架构 上图就是Rocksdb的基础架构。Rocksdb中引入了ColumnFamily(列族, CF)的概念,所谓列族也就是一系列kv组成的数据集。所有的读写操作都需要先指定列族。写操作先写WAL,再写memtable,memtable...
2020-01-16 11:38:17 1131
原创 C++中使用try{}catch()的优/缺点
原因是try catch会在已有的代码上面增加额外的cost, 导致性能的降低。这个额外的cost不是说只有throw exception的时候才会有,而是在try catch block里面的每一行代码中都会有,这也是为什么不建议你使用try catch最主要的原因。try { func(); //尽量一个函数,简单最好} catch (exception ex) { ...
2020-01-11 23:10:08 4389 2
转载 group by 的实现原理
转载:https://cloud.tencent.com/developer/article/1513067写过 Sql 的同学应该都知道 group by 是用来对数据进行分组的,一般与聚合函数一起使用,对分组后的数据进行聚合。虽然大家都在用,但是有些同学还是不太清楚 group by 的底层到底是如何实现分组并且最后进行聚合的。今天就讲讲 group by 的底层实现。我们直接来看例子...
2020-01-10 17:25:05 2107 1
转载 c++ 线程间通信方式
一:两个进程间的两个线程通信,相当于进程间通信二:一个进程中的两个线程间通信 通信方式:1.互斥锁 mutex; lock_guard (在构造函数里加锁,在析构函数里解锁) unique_lock自动加锁、解锁2.读写锁 shared_lock3.信号量 c++11中未实现,可以自己使用mutex和conditon_variabl...
2020-01-09 20:37:49 1478
原创 new 与 malloc区别
new和malloc的区别属性 new/delete是C++关键字,需要编译器支持。malloc/free是库函数,需要头文件支持c。参数 使用new操作符申请内存分配时无须指定内存块的大小,编译器会根据类型信息自行计算。而malloc则需要显式地指出所需内存的尺寸。返回类型 new操作符内存分配成功时,返回的是对象类型的指针,类型严格与对象匹配,无须进行类型转...
2020-01-09 15:30:29 134
原创 如果派生类没有重写基类中的虚函数会怎么样?
class Base {public: virtual void gun() { std::cout << "Base gun" << std::endl; }};class Derived : public Base {private: char c;};int main() { std::cout <...
2020-01-08 15:13:05 4351
原创 hdfs为什么要用block以及block大小的设置
1、在HDFS里面,文件存储为什么要以Block块的方式存储?目的:减少磁盘寻道的时间。(1)、不设置block:因为数据是分散的存放磁盘上的,读取数据时需要不停的进行磁盘寻道,开销比较大。(2)、使用block: 一次可以读取一个block中的数据,减少磁盘寻道的次数和时间。其他:block在磁盘上非连续存储的,读取数据时需要磁盘寻道。2、为什么HDFS中块(bl...
2020-01-08 11:46:50 1735 2
原创 EPOLLOUT/EPOLLIN事件触发的条件
1、EPOLLOUT事件触发的条件?(0)、c/s连接时触发一次(1)、一次write操作,写满了发送缓冲区,返回错误码为EAGAIN(11)。(2)、对端读取了一些数据,又重新可写了,此时会触发EPOLLOUT。简单地说:EPOLLOUT事件只有在不可写到可写的转变时刻,才会触发一次,所以叫边缘触发。暴力方法:直接调用epoll_ctl()重新设置一下event就...
2020-01-02 16:56:47 2685 2
原创 多态情况下,怎么用基类指针去访问基类的虚函数?
class Base { // 基类public: virtual void f() { cout<<"Base"<<endl; }};class Derived : public Base { // 派生类public: virtual void f() { // 最好加上该virtual cout...
2020-01-02 16:26:58 1459 2
原创 非多态的继承情况下,基类指针可以指向派生类对象么?
class Base { // 基类public: Base(int aa=88) : a(aa) {} void f() { // 非virtual cout<<"Base"<<endl; } int a;};class Derived : public Base { // 派生类public: D...
2020-01-02 16:24:36 320
原创 基类指针(或引用)可以调用派生类的private虚函数吗?
class Base {public: virtual void print() { std::cout << " Base print" << std::endl; }};class Derived : public Base {private: virtual void print() { std::c...
2020-01-02 14:35:26 767
转载 HDFS的特性以及如何保证数据的一致性
链接:https://www.nowcoder.com/questionTerminal/962225fa78e74ba7b1d7d7792407acc6?orderByHotValue=1&mutiTagIds=629&page=1&onlyReference=false主要有以下6点:1.安全模式:HDFS刚启动时,namenode进入安全模式,处于安全...
2020-01-02 14:14:21 2797
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人