自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

编程的本质是数学问题

学源码是最快的学习方法

  • 博客(11)
  • 收藏
  • 关注

原创 为什么TCP的TIME_WAIT状态要保持2MSL?

TIMEWAIT状态也称为2MSL等待状态。每个具体TCP实现必须选择一个报文段最大生存时间MSL(Maximum Segment Lifetime)。它是任何报文段被丢弃前在网络内的最长时间。我们知道这个时间是有限的,因为TCP报文段以IP数据报在网络内传输,而IP数据报则有限制其生存时间的TTL字段。RFC 793 [Postel 1981c] 指出MSL为2分钟。然而

2013-11-24 13:14:51 14226

原创 使用strace和ltrace跟踪程序调用

ltrace能够跟踪进程的库函数调用,它会显现出哪个库函数被调用,而strace则是跟踪程序的每个系统调用.1.系统调用的输出对比程序代码:#include main(){ char str[]= "Abcde"; printf("\n string = %s length = %d \n",str,str_length(str));}int str_length

2013-11-23 21:00:37 3125 1

原创 位运算

一、C语言的六种位运算符:& 按位与| 按位或^ 按位异或~ 取反左移>> 右移位运算应用口诀: 清零取反要用与,某位置一可用或若要取反和交换,轻轻松松用异或将int型变量a的第k位清0,即a=a&~(1将int型变量a的第k位置1, 即a=a|(11.   按位与运算按位与运算符"&"是双目运算符。        其功能

2013-11-21 22:40:52 2329

原创 自己写的内存池Slabs

看memcached的源码写的,虽然很粗糙,但是基本思想还是有的,自娱自乐,后期不断改进。#include #include #include struct st{ void * start; void * end; char ptr[10];};struct it{ struct it* prev; struct it* next; int key; int val

2013-11-20 19:17:19 1151 1

原创 从*p++说指针,数组,结构和函数

strlen实现#include main(){ char str[]= "Abcde"; printf("\n string = %s length = %d \n",str,str_length(str));}int str_length (const char *s){ int length = 0; while (*s++){ length++; } retur

2013-11-14 14:45:54 1994 1

原创 Linux线程编程

1.编译undefined reference to 'pthread_create'问题解决 出现如下错误:undefined reference to 'pthread_create'undefined reference to 'pthread_join'问题原因:    pthread 库不是 Linux 系统默认的库,连接时需要使用静态库 libpthread

2013-11-13 18:28:55 1006

原创 Memcached安装使用和源码调试

官网:http://memcached.org/下载# wget http://memcached.googlecode.com/files/memcached-1.4.15.tar.gz解压# tar xzvf memcached-1.4.15.tar.gz#cd memcached-1.4.15配置#./configure --prefi

2013-11-12 13:25:52 2512 1

原创 open的O_DIRECT选项

http://blog.chinaunix.net/uid-223060-id-2127385.htmlhttp://blog.csdn.net/hhtang/article/details/6605951查看磁盘分区:#df -h#tune2fs -l /dev/mapper/VolGroup-lv_root或者#dumpe2fs /dev/mapper/

2013-11-11 19:19:32 1605

原创 频繁分配释放内存导致的性能问题的分析--brk和mmap的实现

原文地址:已经找不到现象1 压力测试过程中,发现被测对象性能不够理想,具体表现为: 进程的系统态CPU消耗20,用户态CPU消耗10,系统idle大约70 2 用ps -o majflt,minflt -C program命令查看,发现majflt每秒增量为0,而minflt每秒增量大于10000。初步分析majflt代表major fault,中文名叫

2013-11-11 18:10:47 2875 1

原创 C语言的HashTable简单实现

原文地址:http://blog.csdn.net/zmxiangde_88/article/details/8025541HashTable是在实际应用中很重要的一个结构,下面讨论一个简单的实现,虽然简单,但是该有的部分都还是有的。一,访问接口创建一个hashtable.hashtable hashtable_new(int size)  // size表示包含的接点个数

2013-11-11 14:44:57 1131

原创 C语言extern关键字定义外部变量--Redis源码extern使用

在用C语言开发时,特别是在服务器端,内存的使用会成为系统性能的一个瓶颈,如频繁的分配和释放内存,会不断的增加系统的内存碎片,影响内核之后分配内存的效率,这个时候一个比较可行的做法是采用内存池,先分配好比较多的内存,然后在这个已经分配的内存里使用内存,这样就不需要内核过多的参与内存分配和释放的过程。内存池根据应用不同有多种实现的策略,如有些分配很大的内存,然后将内存分配成大小相等的块,并

2013-11-11 14:25:20 1398

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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