自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

转载 [转载]链表面试题小结

介绍了几种常见的链表的面试题。

2016-12-19 22:16:25 196

转载 Python yield 使用浅析

您可能听说过,带有 yield 的函数在 Python 中被称之为 generator(生成器),何谓 generator ?我们先抛开 generator,以一个常见的编程题目来展示 yield 的概念。如何生成斐波那契數列斐波那契(Fibonacci)數列是一个非常简单的递归数列,除第一个和第二个数外,任意一个数都可由前两个数相加得到。用计算机程序输出斐波那契數列的前

2015-11-17 15:42:36 250

转载 zip tar rar 命令详解

linux zip命令zip -r myfile.zip ./*将当前目录下的所有文件和文件夹全部压缩成myfile.zip文件,-r表示递归压缩子目录下所有文件.2.unzipunzip -o -d /home/sunny myfile.zip把myfile.zip文件解压到 /home/sunny/-o:不提示的情况下覆盖文件;-d:-d /home/sun

2015-11-13 19:13:35 343

原创 [试题分析] A &a=__NULL;填空题。

A &a=*(A*)NULL;引用了零地址上的一个对象!对零地址解引用,是没有问题的,当然 要是把"A"换成内置类型就不行了。

2015-10-15 17:14:14 263

转载 平面划分问题

一条直线把平面分成两部分在一条直线的基础上增加一条,这时第二条直线与第一条直线相交,只有一个交点,把原来的两个部分分别都分成两部分,一共是2+2=4部分在两条直线的基础上增加一条,这时第三条直线与前两条直线相交时,当交点不在第三直线上的时候,这时第三直线被前两条截成三段,每一段都分原来的三部分成两部分,从而得到4+3=7部分。在三直线的基础上的第四条直线与前三条相交最多有三个交点,从而把原来

2015-10-14 13:39:24 624

原创 [试题解析]static int x[2][3]={2,3,4,5,6,7} *x[1]=?

[试题解析]static int x[2][3]={2,3,4,5,6,7} *x[1]=?A.*(x)[5]  B.*(*(x+1))  C.*(&x[0][0]+2)  D.*(*x+3)[分析]  先看看二维数组的分布图A> 括号的优先级最高,"[ ]" 先跟x结合就成了,*x[5] 相当于*(x+5),也就是说相当于纵向地址增加5个,相当于越界访问了,其值就

2015-10-14 12:47:00 2293

转载 main()参数int argc,int *argv[]的学习

argc是命令行总的参数个数     argv[]是argc个参数,其中第0个参数是程序的全名,以后的参数     命令行后面跟的用户输入的参数,比如:     int   main(int   argc,   char*   argv[])     {     int   i;     for   (i   =   0;   i  i++)     cout   

2015-09-21 22:57:33 504

转载 关于CPU Cache -- 程序猿需要知道的那些事

本文原文地址:http://cenalulu.github.io/linux/all-about-cpu-cache/本文将介绍一些作为程序猿或者IT从业者应该知道的CPU Cache相关的知识先来看一张本文所有概念的一个思维导图为什么要有CPU Cache随着工艺的提升最近几十年CPU的频率不断提升,而受制于制造工艺和成本限制,目前计算机的

2015-08-28 11:02:10 532

转载 KMP算法

个人觉得这篇文章是网上的介绍有关KMP算法更让人容易理解的文章了,确实说得很“详细”,耐心地把它看完肯定会有 所收获的~~,另外有关模式函数值next[i]确实有很多版本啊,在另外一些面向对象的算法描述书中也有失效函数 f(j)的说法,其实是一个意思,即next[j]=f(j-1)+1,不过还是next[j]这种表示法好理解啊:                               

2015-08-10 16:42:33 233

转载 linux /proc详解

Linux-proc    查看逻辑CPU个数:#cat /proc/cpuinfo |grep "processor"|sort -u|wc -l24 查看物理CPU个数:#grep "physical id" /proc/cpuinfo|sort -u|wc -l                   2#grep "physica

2015-08-08 21:39:19 443

转载 主要介绍va_start和va_end的使用及原理。

本文主要介绍va_start和va_end的使用及原理。  在以前的一篇帖子Format MessageBox 详解中曾使用到va_start和va_end这两个宏,但对它们也只是泛泛的了解。  介绍这两个宏之前先看一下C中传递函数的参数时的用法和原理: 1.在C中,当我们无法列出传递函数的所有实参的类型和数目时,可以用省略号指定参数表void foo(

2015-08-08 10:07:26 347

转载 memcached源码分析之线程池机制(二)

在上一篇中已分析了memcached线程池的创建流程,由于上篇篇幅较长,因此将memcached线程池中线程的调度流程另立一篇。先让我们把目光转到主函数中,主线程在调用thread_init函数创建好线程池后,就开始创建监听套接字,memcached支持TCP,UDP,UNIX域套接字,因此相应的要创建三种监听套接字这里我们只分析TCP listening socket的创建(UD

2015-08-06 19:30:33 210

转载 memcached源码分析之线程池机制(一)

已经个把月没有写长篇博文了,最近抽了点时间,将memcached源码分析系列文章的线程机制篇给整出来,在分析源码的过程中参考了网上的一些资源。该文主要集中于两个问题:(1)memcached线程池是如何创建的,(2)线程池中的线程又是如何进行调度的。一切从源码中找答案。memcached的线程池模型采用较典型的Master-Worker模型:(1)主线程负责监听客户端的建立

2015-08-06 19:20:44 294

转载 Memcached中item锁的粒度

在多线程环境中,对于memcached中的item操作,应该对它加锁,如果加所有的item都加一个全局锁,这样对于一把锁来控制所有hash桶中的item,粒度实在是太大了,一个桶的插入删除操作会阻塞另一个桶的操作。如果锁粒度很小的话,例如每个hash桶加锁,那么如果是在hash桶扩容的情况下,一次扩容操作可能涉及到多个桶数据的迁移,这样需要对多个桶的锁进行循环加锁,这样就有些复杂。Memcache

2015-08-06 19:17:32 438

转载 linux内核模块编程

Linux内核模块编程是一个很重要的知识点。尤其是编写底层驱动程序时,一定会涉及到它。内核模块编程也是Tiger哥学习Linux时第一节课所接触的知识。由此可以看出它的important,也可以看出其实它很easy。一前言:1. 什么是内核模块1> 内核模块是具有独立功能的程序。它可以被单独编译,但是不能单独运行,它的运行必须被链接到内核作为内核的一部分在内核空间中运行

2015-08-02 20:18:44 328

转载 TCP Splicping技术简介

引子几个月前的一次午饭间,和同事闲聊,突然想起可以在实现Socks4/5等连接代理的时候,当认证等过程结束后,对tcp数据包(即skb)直接做NAT,从而降低CPU占用率、避免内存拷贝,最终达到增大网络流量的目的。当时同事有些异议,后来也就渐渐地遗忘了此事,直到看到l7sw中的tcp splicing(TCP粘合)实现,发现有种不谋而合的感觉。定义Also

2015-07-02 23:28:44 863

空空如也

空空如也

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

TA关注的人

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