程序设计
hongchunhua
这个作者很懒,什么都没留下…
展开
-
0bug
一、内存池 注册管理二、队列三、线程池四、任务池五、原创 2011-05-06 21:22:00 · 343 阅读 · 0 评论 -
共享内存之shmget
http://linux.die.net/man/2/shmgethttp://linux.die.net/man/8/ipcsint shmget(key_t key, size_t size, int shmflg);以下几种情况会创建一个新的共享内存段:1、如果key有IPC_PRIVATE标志2、如果没有IPC_PRIVATE标志,但是没有key对应的内存,并且sh原创 2011-12-20 13:21:54 · 564 阅读 · 0 评论 -
问题集
1,函数返回值应该怎么设计,根据不同错误返回不同?当前的一个看法是返回值-1为错误,>=0 为正确,同时按照不同功能标示不同结果。在错误情况下,不同情况不同日志进行错误提示。2,函数设计成多处返回还是用goto统一到最后返回?原创 2011-10-25 11:18:12 · 254 阅读 · 0 评论 -
排序算法总结
1,最简单的排序算法:冒泡排序 特点:简单直观,在数据量小时,所有排序算法性能差别不大。2,性能优异算法:快速排序特点:性能优异,不需要额外空间,数据量大而且全部在内存中时,首选。采用分而治之的方式降低复杂度。3,数据无法完全加载到内存:归并排序特点:不要求将所有数据全部加载到内存中。原创 2011-10-25 17:48:03 · 286 阅读 · 0 评论 -
BOOK LIST
最近在读 C语言程序设计 数据结构与算法分析 以下是一个必读书籍列表,还在不停扩充当中。不过我认为最有效的一句话还是最后那句。C语言系列1 高质量C++/C编程 每隔一段时间都应该读读 链接 http://man.chinaunix.net/develop/c&c++/c/c.htm2 程序员面试宝典 找工作必备3 C语言程序设计 经典的C语言书原创 2011-10-20 16:21:41 · 425 阅读 · 0 评论 -
程序设计的惯用手法
其实每个公司都有自己的特色,所以入职后,多看公司代码,一来可以快速的理解代码从而胜任工作,二来可以学习一些惯用手法,例如电信设备有电信设备代码的特点,互联网行业有大并发大规模数据处理等,所以你需要去了解,这就是经验。1 ,预分配每次申请比实际需求要大,这样就可以保证不用每次都申请。2,对象引用计数当每次有别人引用,都需要将引用加一,当不用时,则减一,当到达0时,被彻底释放掉,在内核原创 2011-10-24 15:19:12 · 355 阅读 · 0 评论 -
标准C库和unbuffered I/O
Unbuffered IO 指的是标准的文件IO,对应相反的是C标准IO库。Unbuffered IO每次都需要系统调用,所以在需要用户空间自己开辟IO缓冲区,C标准的IO则已经有相关管理,使用起来很方便。但是可能导致写入的数据和实际文件不一致,需要调用fflush刷写进去。原创 2011-09-14 15:25:12 · 651 阅读 · 0 评论 -
Linux进程内存映射
对于进程的内存映射,总是一知半解,记得几个月前面试一家公司问:画出linux下程序运行的内存映射图。来源:http://duartes.org/gustavo/blog/post/anatomy-of-a-program-in-memory原创 2011-09-01 17:09:39 · 546 阅读 · 0 评论 -
后台server常用技术学习总结
一、常用架构1、Interface与ServerInterface负责接收外部请求并分发到具体的Server,并在包头记录外部请求者的地址,其实就是interface负责转包,这样就能使得系统对外呈现出单一的接口IP,同时方便扩容。Server负责从interface接收请求,并实际处理请求并发出的回应包,目标地址即为interface在包头中的记录地址。问题就出现了短板在interf原创 2012-05-12 11:56:38 · 720 阅读 · 0 评论