<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[miracleswang的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/miracleswang</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; miracleswang]]></copyright><item><title><![CDATA[c++内存泄漏和内存碎片的问题]]></title><link>https://blog.youkuaiyun.com/miracleswang/article/details/78881861</link><guid>https://blog.youkuaiyun.com/miracleswang/article/details/78881861</guid><author>miracleswang</author><pubDate>Sat, 23 Dec 2017 20:01:08 +0800</pubDate><description><![CDATA[1.内存泄漏的定义

 

　 　一般我们常说的内存泄漏是指堆内存的泄漏。堆内存是指程序从堆中分配的，大小任意的（内存块的大小可以在程序运行期决定），使用完后必须显示释放的内存。应用程序一般使用malloc，realloc，new等函数从堆中分配到一块内存，使用完后，程序必须负责相应的调用free或delete释放该 内存块，否则，这块内存就不能被再次使用，我们就说这块内存泄漏了。]]></description><category></category></item><item><title><![CDATA[集成开发环境VS 程序调试时逐语句与逐过程的区别]]></title><link>https://blog.youkuaiyun.com/miracleswang/article/details/78879313</link><guid>https://blog.youkuaiyun.com/miracleswang/article/details/78879313</guid><author>miracleswang</author><pubDate>Sat, 23 Dec 2017 12:37:10 +0800</pubDate><description><![CDATA[调试相关快捷键：
   F9 设置断点
   F5 调试运行
  F11 逐语句   Shift+F11  跳出
  F10 逐过程




逐语句，就是每次执行一行语句，如果碰到函数调用，它就会进入到函数里面。 


逐过程，碰到函数时，不进入函数，把函数调用当成一条语句执行。 

跳出，是当你进入到函数内，跳出可以让你在执行函数内剩余的语句时，直接返回到该函数被调用]]></description><category></category></item><item><title><![CDATA[VS 控制台程序运行一闪而过的解决办法]]></title><link>https://blog.youkuaiyun.com/miracleswang/article/details/78878498</link><guid>https://blog.youkuaiyun.com/miracleswang/article/details/78878498</guid><author>miracleswang</author><pubDate>Sat, 23 Dec 2017 10:23:53 +0800</pubDate><description><![CDATA[当我们写完一个小程序，F5或者ctrl+F5运行时想看看运行结果，控制窗口有时会一闪而过，这样就看不到运行的结果，怎么办呢？

            有些人会给程序最后加一句 system("pause"); 或 cin.get();  但是我发现加上这条语句虽然可以让窗口在最后停下来，但是在c++程序里不能打印出最后析构函数里想输出的内容。所以推荐使用下面的方法，配置一下编译器设置。]]></description><category></category></item><item><title><![CDATA[C++中struct与class的区别]]></title><link>https://blog.youkuaiyun.com/miracleswang/article/details/78857550</link><guid>https://blog.youkuaiyun.com/miracleswang/article/details/78857550</guid><author>miracleswang</author><pubDate>Wed, 20 Dec 2017 20:58:53 +0800</pubDate><description><![CDATA[很多初学者或者是想当然，或者是被网上的一些错误信息给误导，面试中问到class和struct区别时经常会说class可以继承而struct不可以继承，这是完全错误的。但在C#中，class与struct确实有这点区别（当然不止这一点）。其实，在C++中，这两个关键词并没有大的区别，仅在细节上有些不同。1、 字面上的区别 
在字面上struct是structure的缩写，通常叫做“结构体”，在C语言里]]></description><category></category></item><item><title><![CDATA[c++ 虚函数和纯虚函数的区别]]></title><link>https://blog.youkuaiyun.com/miracleswang/article/details/78856975</link><guid>https://blog.youkuaiyun.com/miracleswang/article/details/78856975</guid><author>miracleswang</author><pubDate>Wed, 20 Dec 2017 20:07:01 +0800</pubDate><description><![CDATA[虚函数和纯虚函数的区别
首先：强调一个概念
定义一个函数为虚函数，不代表函数为不被实现的函数。
定义他为虚函数是为了允许用基类的指针来调用子类的这个函数。
定义一个函数为纯虚函数，才代表函数没有被实现。
定义纯虚函数是为了实现一个接口，起到一个规范的作用，规范继承这个类的程序员必须实现这个函数。



假设我们有下面的类层次：class A  
{  
public:]]></description><category></category></item><item><title><![CDATA[c++中继承与组合]]></title><link>https://blog.youkuaiyun.com/miracleswang/article/details/78856794</link><guid>https://blog.youkuaiyun.com/miracleswang/article/details/78856794</guid><author>miracleswang</author><pubDate>Wed, 20 Dec 2017 19:44:47 +0800</pubDate><description><![CDATA[类继承和对象组合是复用的两种最常用的技术。

一：继承

　　继承是Is a 的关系，比如说Student继承Person,则说明Student is a Person。继承的优点是子类可以重写父类的方法来方便地实现对父类的扩展。

　　继承的缺点有以下几点：

　　①：父类的内部细节对子类是可见的。

　　②：子类从父类继承的方法在编译时就确定下来了，所以无法在运行期间改变从]]></description><category></category></item><item><title><![CDATA[c语言堆区内存管理——malloc、calloc、recalloc、free]]></title><link>https://blog.youkuaiyun.com/miracleswang/article/details/78732093</link><guid>https://blog.youkuaiyun.com/miracleswang/article/details/78732093</guid><author>miracleswang</author><pubDate>Wed, 06 Dec 2017 16:45:30 +0800</pubDate><description><![CDATA[内存区域可以分为栈，堆，静态存储区和常量存储区。局部变量，函数形参，临时变量都是在栈上获得内存的，它们获取的方式都是由编译器自动执行的。C 标准函数库提供了许多函数来实现对堆上内存管理，其中包括：malloc函数，free函数，calloc函数和realloc函数。使用这些函数需要包含头文件stdlib.h。]]></description><category></category></item><item><title><![CDATA[堆”,"栈","堆栈","队列"的区别（转）]]></title><link>https://blog.youkuaiyun.com/miracleswang/article/details/78614637</link><guid>https://blog.youkuaiyun.com/miracleswang/article/details/78614637</guid><author>miracleswang</author><pubDate>Thu, 23 Nov 2017 14:40:07 +0800</pubDate><description><![CDATA[如果你学过数据结构，就一定会遇到“堆”,”栈”,”堆栈”,”队列”，而最关键的是这些到底是什么意思？最关键的是即使你去面试，这些都还会问到，所以如果你不懂对你是损失很大的。   堆：什么是堆？又该怎么理解呢？
①堆通常是一个可以被看做一棵树的数组对象。堆总是满足下列性质：·堆中某个节点的值总是不大于或不小于其父节点的值；·堆总是一棵完全二叉树。将根节点最大的堆叫做最大堆或大根堆，根节点最小的堆叫做最]]></description><category></category></item><item><title><![CDATA[Linux内核学习经验总结]]></title><link>https://blog.youkuaiyun.com/miracleswang/article/details/78609420</link><guid>https://blog.youkuaiyun.com/miracleswang/article/details/78609420</guid><author>miracleswang</author><pubDate>Wed, 22 Nov 2017 23:08:02 +0800</pubDate><description><![CDATA[开篇


学习内核，每个人都有自己的学习方法，仁者见仁智者见智。以下是我在学习过程中总结出来的东西，对自身来说，我认为比较有效率，拿出来跟大家交流一下。




内核学习，一偏之见；疏漏难免，恳请指正。








为什么写这篇博客


      刚开始学内核的时候，不要执着于一个方面，不要专注于一个子系统就一头扎到实际的代码行中去，因为这样的话，牵涉]]></description><category></category></item><item><title><![CDATA[Linux常用命令汇总]]></title><link>https://blog.youkuaiyun.com/miracleswang/article/details/78597991</link><guid>https://blog.youkuaiyun.com/miracleswang/article/details/78597991</guid><author>miracleswang</author><pubDate>Tue, 21 Nov 2017 22:49:13 +0800</pubDate><description><![CDATA[命令
功能说明
线上查询及帮助命令 (2 个)
man
查看命令帮助，命令的词典，更复杂的还有 info，但不常用。
help
查看 Linux 内置命令的帮助，比如 cd 命令。
文件和目录操作命令 (18 个)
ls
全拼 list，功能是列出目录的内容及其内容属性信息。
cd
全拼 change directory，功能是从当前工作目录切换到指定的工作目录。
cp]]></description><category></category></item><item><title><![CDATA[亿级Web系统的高容错性实践]]></title><link>https://blog.youkuaiyun.com/miracleswang/article/details/78585425</link><guid>https://blog.youkuaiyun.com/miracleswang/article/details/78585425</guid><author>miracleswang</author><pubDate>Mon, 20 Nov 2017 19:01:23 +0800</pubDate><description><![CDATA[web
/ 高容错性 实战
/

190



背景介绍

大概三年前，我在腾讯负责的活动运营系统，因为业务流量规模的数倍增长，系统出现了各种各样的异常，当时，作为开发的我，7*24小时地没日没夜处理告警，周末和凌晨也经常上线，疲于奔命。后来，当时的老领导对我说：你不能总扮演一个“救火队长”的角色， 要尝试从系统整体层面思考产生问题的根本原因，然后推进解决。

我幡然醒悟，]]></description><category></category></item><item><title><![CDATA[编程算法整理]]></title><link>https://blog.youkuaiyun.com/miracleswang/article/details/78578164</link><guid>https://blog.youkuaiyun.com/miracleswang/article/details/78578164</guid><author>miracleswang</author><pubDate>Sun, 19 Nov 2017 23:06:10 +0800</pubDate><description><![CDATA[算法一：快速排序算法
快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下，排序 n 个项目要Ο(n log n)次比较。在最坏状况下则需要Ο(n2)次比较，但这种状况并不常见。事实上，快速排序通常明显比其他Ο(n log n) 算法更快，因为它的内部循环（inner loop）可以在大部分的架构上很有效率地被实现出来。快速排序使用分治法（Divide and conquer）策略来把一个串行（]]></description><category></category></item><item><title><![CDATA[Linux网络编程——并发服务器模型]]></title><link>https://blog.youkuaiyun.com/miracleswang/article/details/78577706</link><guid>https://blog.youkuaiyun.com/miracleswang/article/details/78577706</guid><author>miracleswang</author><pubDate>Sun, 19 Nov 2017 22:11:31 +0800</pubDate><description><![CDATA[标签： 
网络编程并发服务器模型




分类： 
【Linux网络编程】（47） 



作者同类文章X







目录(?)[+]

循环服务器与并发服务器模型

UDP 循环服务器的实现方法TCP 循环服务器的实现方法
三种并发服务器实现方法

多进程并发服务器多线程服务器IO复用服务器




服务器设计技术有很多，按使用的]]></description><category></category></item><item><title><![CDATA[POSIX和System V的比较/IPC函数汇总]]></title><link>https://blog.youkuaiyun.com/miracleswang/article/details/78577448</link><guid>https://blog.youkuaiyun.com/miracleswang/article/details/78577448</guid><author>miracleswang</author><pubDate>Sun, 19 Nov 2017 21:42:31 +0800</pubDate><description><![CDATA[POSIX和System V的比较/IPC函数汇总 


标签： 
IPCPOSIXSystemV

2017-11-19 21:46





分类： 
//【IPC与网络部分】


版权声明：本文为博主原创文章，转载请注明出处



当我们在linux系统中进行进程间通信时，会发现例如共享内存，信号量，消息队列等方式时，会发现有System v以及POX]]></description><category></category></item></channel></rss>