自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

一缕阳光的博客

在通向成功的道路上勇往直前

  • 博客(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 &lt...

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关注的人

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