野指针,也就是指向不可用内存区域的指针。如果对野指针进行操作,将会使程序发生不可预知的错误,甚至可能直接引起崩溃。 野指针不是NULL指针,是指向“垃圾”内存的指针。人们一般不会错用NULL指针,因为用if语句很容易判断。但是野指针是很危险的,也具有很强的掩蔽性,if语句对它不起作用。 造成野指针的 ...
分类:
编程语言 时间:
2017-08-24 13:27:10
阅读次数:
150
翻译:飞哥 ( http://hi.baidu.com/imlidapeng ) 版权所有,尊重他人劳动成果,转载时请注明作者和原始出处及本声明。 原文名称:《Linux Performance and Tuning Guidelines》 原文地址:http://www.redbooks.ibm. ...
分类:
系统相关 时间:
2017-08-20 15:42:13
阅读次数:
237
什么是动态内存的申请和释放? 当程序运行到需要一个动态分配的变量时,必须向系统申请取得堆中的一块所需大小的存储空间,用于存储该变量。当不再使用该变量时,也就是它的生命结束时,要显式释放它所占用的存储空间,这样系统就能对该堆空间进行再次分配,做到重复使用有限的资源。 下面将介绍动态内存申请和释放的函数 ...
分类:
编程语言 时间:
2017-08-15 11:26:44
阅读次数:
210
JVM垃圾回收策略 1.静态内存分配和回收 编译时已经确定了内存空间大小,程序被加载后则一次性分配好内存空间.程序结束后,则对应栈帧撤销,分配的静态内存空间则被回收. 2.动态内存分配和回收 程序运行动态分配内存空间,回收时则由垃圾收集器负责. 3.垃圾收集器 A.正确的检测出垃圾对象(关键功能) ...
分类:
编程语言 时间:
2017-08-03 20:16:13
阅读次数:
146
一.内存的常见分配方式 1. 从静态区分配,一般是全局变量和static类型变量 2.从栈区分配内存,一般是局部的变量,会随着所在函数的结束而自动释放 3.从堆中分配,一般是使用手动分配,使用malloc()函数和new来申请任意大小空间,不过要手动释放空间,相应的使用free()函数和delete ...
分类:
编程语言 时间:
2017-08-02 11:56:26
阅读次数:
207
该文章所讲内容基本涵盖了Collection里面的全部东西,尽管基于jdk 1.5的。可是思路非常清晰 1.引言 1.1 Collection框架的介绍 尽管我们能够使用数组去存储具有同样类型的元素集合(包含基本类型和对象类型),可是数组不支持所谓的动态内存分配,一旦分配之后,它的长度就是固定的,无 ...
分类:
编程语言 时间:
2017-08-01 14:20:17
阅读次数:
212
注意:polymorphic base class 应该具有虚析构函数,如果class带有任何virtual函数,也应具有虚析构函数 class不具备polymorphic属性则不应该声明virtual 析构函数 1.老生常谈,如果一个类需要被使用为base calss 则为它声明 "virtual ...
分类:
其他好文 时间:
2017-07-30 17:13:11
阅读次数:
167
队列、堆、栈、堆栈的区别 队列、堆、栈、堆栈的区别 堆栈:先进后出(就像放在箱子的衣服,先放进去的后拿出来) 队列:先进先出(就像一条路,有一个入口和一个出口,先进去的就可以先出去) 堆栈:先进后出(就像放在箱子的衣服,先放进去的后拿出来) 队列:先进先出(就像一条路,有一个入口和一个出口,先进去的 ...
分类:
其他好文 时间:
2017-07-29 18:17:38
阅读次数:
123
动态内存是一种新Hyper-V功能,可帮助您更有效地使用物理内存。使用动态内存,Hyper-V将内存视为一种可在运行的虚拟机之间自动重新分配的共享资源。动态内存基于内存需求的变化和您指定的值,调整可供虚拟机使用的内存量。动态内存可帮助您更有效地使用内存资源。在引入此功能..
本章节为大家讲解 FreeRTOS 动态内存管理,动态内存管理是 FreeRTOS 非常重要的一项功能,前面章节讲解的任务创建、 信号量、 消息队列、 事件标志组、 互斥信号量、 软件定时器组等需要的 RAM 空间都是通过动态内存管理从 FreeRTOSConfig.h 文件定义的 heap 空间中 ...
分类:
其他好文 时间:
2017-07-23 10:09:16
阅读次数:
997