240 发简信
IP属地:浙江
  • 120
    pika中锁的应用

    参考代码:pika-2.4.0pika作为类redis的存储系统,为了弥补在性能上的不足,在整个系统中大量使用多线程的结构,涉及到多线程编程,势必需要为线程加锁来保证数据访问...

  • 2019-06-17 utils01 - 日志组件

    本文的日志组件指的是info/debug log,不是wal. 关于日志组件,rocksdb里的log(posix-log)主要做法:a. 每次log产生一次buffer-w...

  • 120
    工具使用

    [ctags的替代品] 用universal-ctags, 否则原版的ctags-exuberant对于解析c++11中某些关键字会有bug,如:包含“override”关键...

  • 记一个libevent遇到的坑

    网络层是大多数基础服务都需要的一个东西,libevent是个单线程模型(reactor模式)的网络库。而单线程模式,就必须保证事件的回调处理是非阻塞的。但在某些场景下,必须阻...

  • 这里我再确认下 不是上面写错了就是下面写错了

    [OS_0x01]实模式 --> 保护模式(段式-->段页式)

    ``本文的一些截图来自于 和<x86汇编从实模式到保护模式>` 最近复习一些操作系统的知识,首先遇到了个坑便是计算机寻址问题.本文是一些偏理论的东西(汇编可能在工作中用不到,...

  • 作者您好,发现一个小问题值得商榷,原文中下面这一段第一行中<<16好像是左移16位的意思,而不是乘16的意思。

    “于是,这里设计成了使用段基地址 + 段内偏移的方式: 物理地址 = 段基地址<<16 + 段内偏移
    有个小问题就是这种方式实际上可访问的空间大于1M,即最大可以访问到0xFFFF*16 + 0xFFFF = 0x10FFEF > 0xFFFFF,多出的这些地址将从0开始(即对1M取模).”

  • 如何在c++工程中快速定位所有某成员函数的调用处

    cscope/slickedit 等对于c++都不太准确,搞个vs或clion之类的又麻烦,我觉得比较好用的方式时是:编译时读给成员函数加上__attribute__((de...

  • 2018-09-24 日常操作cheatsheet

    [一些变量] [strace]strace -T -tt -v -fp 2>&1 #追踪某个pid下所有线程的syacall [查找历史指令]ctrl + R,输入字符查...

  • 2018-08-21 准备开源一个网络库

    近期做了个完成度比较高的东西,一个工作中搞出来的网络库. 想通过这次机会弥补一下之前在网路这方面的短板. 设计大概是如下的几个方面: Buffer/Codec/Protoc...

  • 网络编程deep dive(0)

    抛出问题 近期在搞一个Android上的监控(叫Backdoor也行),基本原理就是通过某jni上面加一层壳,壳中加入一些长连接相关的代码,通过服务端往这个长连接发一些消息,...

  • TCP的可靠性

    说起TCP协议,可能这句话很多人都听过,那就是TCP的定义: TCP(Transmission Control Protocol 传输控制协议)是一种面向连接(连接导向)的、...