自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

C++的多态如何在编译和运行期实现

多态是什么?简单来说,就是某段程序调用了一个API接口,但是这个API有许多种实现,根据上下文的不同,调用这段API的程序,会调用该API的不同实现。今天我们只关注继承关系下的多态。还是得通过一个例子来看看C++是怎样在编译期和运行期来实现多态的。很简单,定义了一个Father类,它有一个testVFunc虚函数哟。再定义了一个继承Father的Child类,它重新实现了testVFunc...

2011-12-31 16:02:00 73

字符串的最大相似匹配

字符串的最大相似匹配计划中,kmp完后,本篇继续。。。

2011-12-31 13:35:00 406

nginx启动期做了哪些事

nginx是个多进程web容器,不同的配置下它的启动方式也是不同的,这里我只说说最典型的启动方式。它有1个master进程,和多个worker进程(最优配置的数量与CPU核数相关)。那么,首先我们要找到main函数,它在src/core/nginx.c文件中。谈到源码了,这时我们先简单看下源码的目录结构吧。nginx主要有下列目录:src/core,这个目录存放了基础的数据结构像L...

2011-12-30 17:28:00 65

2012年4月微软MVP申请开始!

2012年4月微软MVP申请开始了!  CSDN与微软合作,长期为用户提供申请“微软最有价值专家”的平台,希望有兴趣、资历的朋友以及正在朝这个方向努力的朋友能够积极参与。   申请微软MVP的朋友请下载申请表格:http://community.csdn.net/bbs/2012mvp.rar(点击下载) 填写好相关内容后把申请表格发送到邮箱admin(at)csdn...

2011-12-29 14:21:00 59

KMP字符串匹配算法

KMP算法,Knuth-Morris-Pratt Algorithm,一种由Knuth(D.E.Knuth)、Morris(J.H.Morris)和Pratt(V.R.Pratt)三人提出的一种快速模式匹配算法。KMP朴素算法原理:子串pattern依次与目标串target中的字符比较,如果相等,继续比较下一个字符;如果不等,pattern右移一位,重新开始比较,直至匹配正确或超出tar...

2011-12-28 16:56:00 214

linux内核调度算法(3)--多核系统的负载均衡

多核CPU现在很常见,那么问题来了,一个程序在运行时,只在一个CPU核上运行?还是交替在多个CPU核上运行呢?LINUX内核是如何在多核间调度进程的呢?又是内核又是CPU核,两个核有点绕,下面称CPU处理器来代替CPU核。实际上,如果你没有对你的进程做过特殊处理的话,LINUX内核是有可能把它放到多个CPU处理器上运行的,这是内核的负载均衡。上文说过,每个处理器上有一个runqueue队列...

2011-12-28 10:54:00 100

数组中数对差最大

题目:数组中某数字减去其右边的某数字得到一个数对之差,求所有数对之差的最大值。例如:数组{2, 4, 1, 16, 7, 5, 11, 9}中,数对之差的最大值是11(16 - 5)分析:看到这个题目,很多人的第一反应是找到这个数组的最大值和最小值,然后觉得最大值减去最小值就是最终的结果。但由于我们无法保证最大值一定位于数组的左边,因此这个思路不管用。让每一个数字逐个减去它右边的所有...

2011-12-28 10:08:00 240

linux内核调度算法(2)--CPU时间片如何分配

内核在微观上,把CPU的运行时间分成许多分,然后安排给各个进程轮流运行,造成宏观上所有的进程仿佛同时在执行。双核CPU,实际上最多只能有两个进程在同时运行,大家在top、vmstat命令里看到的正在运行的进程,并不是真的在占有着CPU哈。所以,一些设计良好的高性能进程,比如nginx,都是实际上有几颗CPU,就配几个工作进程,道理就在这。比如你的服务器有8颗CPU,那么nginx work...

2011-12-26 14:23:00 213

数组中最大和的子数组

题目:输入一个整型数组,数据元素有正数也有负数,求元素组合成连续子数组之和最大的子数组,要求时间复杂度为O(n)。例如:输入的数组为1, -2, 3, 10, -4, 7, 2, -5,最大和的连续子数组为3, 10, -4, 7, 2,其最大和为18。背景:本题最初为2005年浙江大学计算机系考研题的最后一道程序设计题,在2006年里包括google在内的很多知名公司都把本题当作面试题...

2011-12-22 17:51:00 303

linux内核调度算法(1)--快速找到最高优先级进程

为什么要了解内核的调度策略呢?呵呵,因为它值得我们学习,不算是废话吧。内核调度程序很先进很强大,管理你的LINUX上跑的大量的乱七八糟的进程,同时还保持着对用户操作的高灵敏响应,如果可能,为什么不把这种思想放到自己的应用程序里呢?或者,有没有可能更好的实现自己的应用,使得操作系统能够以自己的意志来分配资源给自己的进程?带着这两个问题来看看KERNEL。首先回顾上我们开发应用程序,基本上就两...

2011-12-22 11:17:00 77

MySQL重装出错解决方法

Windows系统中,如果先前已安装有MySQL,修复或卸载重装后,在最后一步会提示不成功!可能原因:1、 防火墙打开了,网络端口3306没开启,导致MySQL安全验证不通过2、 卸载重装MySQL不干净解决方法(原因一):问题原因:解决方法:1、 控制面板——》安全中心——》Windows防火墙2、 选择“关闭(不推荐)”说明: 默认的是启用(推荐)解决方法(原...

2011-12-21 16:35:00 205

谈谈守护进程与僵尸进程

04年时维护的第一个商业服务就用了两次fork产生守护进程的做法,前两天在网上看到许多帖子以及一些unix书籍,认为一次fork后产生守护进程足够了,各有道理吧,不过多了一次fork到底是出于什么目的呢?进程也就是task,看看内核里维护进程的数据结构task_struct,这里有两个成员:struct task_struct { volatile long state; in...

2011-12-21 11:00:00 71

Android 源码结构分析

Android 2.1 源码结构分析Android 2.1总目录|-- Makefile|-- bionic (bionic C库)|-- bootable (启动引导相关代码)|-- build(存放系统编译规则及generic等基础开发包配置)|-- cts(Android兼容性测试套件标准)|-- dalvik(dalvik JAVA虚拟机)|-- development...

2011-12-21 10:40:00 138

Eclipse 自动提示功能配置

Eclipse版本(本文测试)Eclipse IDE for Java DevelopersVersion:IndigoService Release 1Build id: 20110916-0149配置步骤:1 Window > Preferences > Java > Editor > Content Assist2 “Auto Activation t...

2011-12-21 10:34:00 93

VIM之Project 项目管理工具

VIM是Linux和Unix下常用的文本编辑工具,在编写代码和阅读代码中经常使用。但VIM进行代码项目管理时,没有IDE集成开发工具方便,现在提供一个VIM插件Project,可以对代码项目进行简单的集中管理一、 下载安装1、 在 Vim 网站上下载最新版本project.tar.gz或直接下载project-1.4.1.tar.gz2、 解压缩移动plugin和doc到~/.vim目...

2011-12-21 10:19:00 252

HTML嵌套Flash播放视频

1、 视频内容来源于本地,通过本地播放器播放代码:<!-- 此段视频源文件在本地,通过本地Flash播放器播放,不需要连接网络 --><EMBED style=" margin: 5px auto; width:900px; height: 400px"; src="video\shipin.swf" quality= "high" wmode="transpare...

2011-12-21 09:21:00 377

下载频道岁末领任务~赚下载分~~活动开始啦!!!!

各位亲爱的网友!!大家好! CSDN下载频道自9月份全新改版到现在,已经步入稳定而逐渐发展的阶段。我们十分感谢这期间很多热心网友的建议。正值岁末,为回馈大家对下载频道长期的支持!!我们为大家准备了一次特别任务!!凡是完成此任务的用户均可获得下载分奖励并有机会获赠技术书籍哦!【活动时间】:12月19日-12月31日【活动内容】:活动期间,在下载频道上传与数据库、jQuery 、W...

2011-12-20 15:25:00 146

生成一个C++对象的成本

最近两年C用得多了,C++有些生疏,又常常用PYTHON,或者阅读些JAVA的代码,感觉C的开发者们由于C语言在软件工程上的先天缺陷,导致开发效率不高,所以决定拿出C++来看看用用,准备把libevent封装出一个类ACE的C++实现,首先来复读下C++对象模型吧。要了解new一个object的成本,最主要的就是知道,编译器会给对象分配多少内存,知道C++的对象模型无疑就了解这一点了。如果要研...

2011-12-19 11:30:00 83

CSDN博客频道——“我的2011”年度征文活动火爆进行中!

2011年即将过去,在这一年里你可能毕业参加工作、可能跳槽到新公司、可能开始涉猎新的技术领域、可能在CSDN遇上技术牛人、可能参与了极富挑战的项目、可能升职做经理总监、可能和志同道合的朋友们创业、也有可能失业了、投资失败了、与恋人分手了……忙忙碌碌的生活是一成不变、枯燥无味、朝九晚五、钢筋森林、面具伪装?还是不拘一格、激情四溢、饶有情趣、幸福甜蜜?在这辞旧迎新之际,CSDN博客频道联合...

2011-12-05 09:35:00 207

Android 内存分析工具

Dalvik 虚拟机支持垃圾收集,但是这不意味着你可以不用关心内存管理。你应该格外注意移动设备的内存使用,手机和平板的内存空间是受到限制的。在这篇文章里面,我们来看看Android SDK里面的一些内存剖析工具(profiling tools)是如何帮助我们修整应用程序的内存使用。一、 内存泄露一些内存使用问题是很明显的,例如,如果在每次用户触摸屏幕的时候应用程序有内存泄露,将会有可能触发O...

2011-12-01 15:39:00 244

空空如也

空空如也

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

TA关注的人

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