
C
文章平均质量分 76
jeff_0825
这个作者很懒,什么都没留下…
展开
-
tcmallo
这是一个通用的内存管理库,可以代替new delete之类。内存管理主要关注两点,一是分配、释放的速度,二是内存的利用率,也就是内存碎片问题。这两个目标是冲突的,不同的内存管理算法在两者之间取不同的平衡点为了提高分配、释放的速度,多核计算机上,主要做的工作是避免所有核同时在竞争内存,常用的做法是内存池,简单来说就是批量申请内存,然后切割成各种长度,各种长度都有一个拉链,申请、释放都只要转载 2015-10-20 14:54:14 · 464 阅读 · 0 评论 -
Memcached源码分析(线程模型)
http://bachmozart.iteye.com/blog/344172目前网上关于memcached的分析主要是内存管理部分,下面对memcached的线程模型做下简单分析有不对的地方还请大家指正,对memcahced和libevent不熟悉的请先google之先看下memcahced启动时线程处理的流程memcached的多线程主要是通过实例化多个li转载 2015-10-20 14:06:28 · 335 阅读 · 0 评论 -
Linux C 编程环境之工具链
从理论上说编译一个程序依次需要下面几个工具:C预处理器-->词法分析器-->代码生成器-->优化器-->汇编程序-->链接器。linux下有两个软件包binutils、gcc包括了上面的所有工具。 1. binutils工具 Binutils 是一组很重要的开发工具,包括链接器(ld)、汇编器(as)、反汇编器(objdump)和其他用于目标文件和档案的工具转载 2015-10-14 13:57:35 · 584 阅读 · 0 评论 -
Linux代码安全
这里要讲的是帮助我们构建更加强健的代码的各种技术。 1 .缓冲区溢出问题 缓冲区是一个非常严重的 安全问题,最好的情况下可能导致软件的行为错乱;严重时将会导致被缓冲区利用程序所控制而执行任何攻击者所想要执行的代码。请看下面的示例代码: static char ourArray[100]; ... in转载 2015-10-14 16:57:11 · 330 阅读 · 0 评论 -
mmap 浅析
mmap简述 mmap函数是unix/linux下的系统调用。《Unix Netword programming》对它的介绍为:The mmap function maps either a file or a Posix shared memory object into the address space of a process.We use this function for转载 2015-10-14 17:26:31 · 288 阅读 · 0 评论 -
缓存淘汰算法--LRU算法
缓存淘汰算法--LRU算法 1. LRU1.1. 原理LRU(Least recently used,最近最少使用)算法根据数据的历史访问记录来进行淘汰数据,其核心思想是“如果数据最近被访问过,那么将来被访问的几率也更高”。1.2. 实现最常见的实现是使用一个链表保存缓存数据,详细算法实现如下:1. 新数据插入到链表头部转载 2015-11-02 11:53:20 · 1016 阅读 · 0 评论