240 发简信
IP属地:北京
  • 分布式编译和测试

    分布式工具:distcc 简介 distcc是类unix系统下一款分布式的编译工具。所谓分布式编译,就是在由多台主机并行开发的大型项目中,为了提高编译效率,采取的分布式交叉编...

  • 120
    SGI stl

    第一章 1.9 令人困惑的语法 1.9.1 stl_config.h中的各种组态(configurations) 组态3:__STL_STATIC_TEMPLATE_MEMB...

  • 120
    DNS详解

    DNS介绍 将ip和域名相互映射的分布式数据库。使用TCP和UDP端口53,每一级域名长度的限制是63个字符,域名总长度不能超过253个字符 DNS基于的UDP/TCP 一般...

  • 分包和解包

    tcp保证收发有序的方式 终结标志 头部记录长度信息 长连接的方式: 网络会在没有数据传输的时候断开链接:默认2个小时keep-alive:设置时间能否维持长连接?没法知道应...

  • MTU

    MTU(Mzximum transfering unit):链路层概念 以太网帧的的MTU是1500字节,以太网上标准的MTU为576字节 IP头部20字节 UDP头部8字节...

  • 120
    Valgrind 和gdb内存调式工具

    Valgrind Valgrind是一套linux下,开放源代码的仿真调试工具的集合。它由内核以及基于内核的其他调试工具组成。内核类似于一个框架,模拟了一个CPU环境,并提供...

  • 120
    数据流压缩原理和数据压缩Zlib的实现

    1. 压缩原理deflate算法 压缩的本质就是去冗余,去除信息冗余,使用最短的编码保存最完整的数据信息。所以对于不同的场景,压缩采用的算法也因时制宜,比如视频和图片可以采用...

  • openssl相关数据结构的设计

    hash表 数据结构:使用链表数组实现 相关接口 内存分配 内存相关数据结构 内存操作相关接口 CRYPTO_mem_ctrl:控制内存分配时是否记录内存信息,用于查找内存泄...

  • 120
    结构化数据传输协议:json与protobuf

    跨平台的结构化数据传输协议一般情况下关注三要素和三件事: 三要素 protocal 数据 API 三件事 协议编译 序列化 反序列化 以下三种协议按照以上要素进行介绍 jso...

  • 32位,64位?

    寄存器的大小,总线传输单位(字长),虚拟内存地址空间大小,虚拟地址位数,也就是指针变量的位数 计算机世界中所谓的指向一般都是体现为一个变量保存内存空间的某个地址,比如PC总是...

  • 进程切换,进程建立,进程销毁

    进程建立 用户态进程建立的三个接口clone,fork,vforkclone是posix在系统调用clone上层做的一层封装,两者的区别在于:clone():系统调用直接调用...

  • 120
    《more effective c++》阅读笔记

    基础议题:指针、引用、类型转换、arrays、constructors 条款1:仔细区分指针和引用 引用在某种程度上相当于常量指针,因为其必须给定初始化值,并不能改变指向,所...

  • 120
    内存池原理详解

    从一个问题谈起:从内核中的伙伴系统,页高速缓存系统,slab内存管理系统,常规内存高速缓存系统,到用户线性区管理,用户动态内存分配malloc/free,最终因时制宜选择自定...

  • 120
    深入解读缓存雪崩和缓存穿透

    缓存查询 references: https://blog.csdn.net/kongtiao5/article/details/82771694 缓存穿透 概念:缓存穿透是...

  • static关键字

    static关键字的内存原理 分配在全局数据区 编译期初始化,默认初始化为零 static在不同场景中的效用 目录成员变量成员函数全局变量局部变量普通函数 成员变量 根据其内...

  • 并发

    c++11线程接口std::thread 构造方式 thread() 注意,构造方法中的函数可以是,某个实例的成员函数,这时实例位于第二个参数的位置,也可以是lamba表达式...

  • c++函数

    函数除了数组(严格定义上的数组,而不是指针什么之类的)都可以返回,返回值被存在指定的寄存器和内存单元中,然后由调用函数去获取该值,并拷贝下来,在这个过程中会检查类型是否匹配 ...

  • c++循环和分支

    表达式(都有值)的判定可能会带来副作用(变量在内存中的值发生改变) 赋值表达式必须加上括号之后才能被引用做值使用,并且前加操作不被当作表达式处理,而后加操作当作表达式处理当表...

  • c++复合类型

    char[] 数组申明必须是整形常值或const值,以及常量表达式如(8*sizeof(int)),即所有的值在编译时都是已知的 数组允许列表初始化,并且允许对数组的部分元素...