阳台

既然选择远行,便只顾风雨兼程


  • 首页

  • 分类

  • 标签

  • 归档

  • 关于

ssd write amplification

发表于 2018-04-15 | 分类于 other
Page 和 Blockssd中有page和block的概念,page的大小为 4k,而block的大小为512k(128个page) write amplification从前一直认为SSD的写放大(Write amplification)是指SSD一次写必须写一个Block,其实不是这样的。SS ...
阅读全文 »

go之基础重温

发表于 2018-04-15 | 分类于 golang
值语义 大多数类型基于值语义,包括基本类型:byte, int, bool, float32, float64 和string 复合类型: array, struct, pointer 引用语义变量存储的是一个地址,这个地址存储最终的值。内存通常在堆上分配。通过GC回收。获取指针类型所指向的 ...
阅读全文 »

cache lru

发表于 2018-04-15 | 分类于 golang
lru123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 ...
阅读全文 »

rgw put object流程

发表于 2018-04-15 | 分类于 ceph
op处理/// rgw/rgw_op.cc123void RGWPutObj::execute(){ }
阅读全文 »

paxos

发表于 2018-04-15 | 分类于 ceph
这个leader节点是怎么确定的?答案:zookeeper系统自己选举出来的,所有server节点(observer除外),都参与这个选举。这样做的好处是:当现在leader挂掉了之后,系统可以重新选举一个节点做leader。Zookeeper的选举算法能保证:只要超过半数节点还活着,就一定能选举出 ...
阅读全文 »

Golang反射包的实现原理(The Laws of Reflection)

发表于 2018-04-15 | 分类于 golang
类型和接口(Types and interfaces)因为反射是建立在类型系统(type system)上的。所以我们从Go的类型入手 Go是静态类型化的。每个变量都有一个静态类型1234type MyInt intvar i intvar j MyInt i的类型就是int,而j的类型就是M ...
阅读全文 »

c++11基础整理

发表于 2018-04-09 | 分类于 c++

关键字:

  • override: 确保成员函数为虚并覆盖基类的虚函数

    • 用于标注在派生类函数中
    • 该函数必须和基类的函数有相同的签名(即参数,返回值,const等一致)
    • 在基类中,该函数必须声明为virtual
  • final: 一旦成员虚函数被声明为final,派生类不能再覆盖它

    • 表面它的派生类不能再覆盖写该成员函数;
    • 该函数在其基类声明必须为virutal
      阅读全文 »
12

天色渐晚

17 日志
7 分类
15 标签
© 2020 天色渐晚
由 Hexo 强力驱动
|
主题 — NexT.Gemini v5.1.4