常见动态内存错误编译器不能自己主动发现动态内存错误,动态内存错误通常仅仅能在程序执行时才干被捕捉到,并且错误原因不easy查找,错误本身也不easy捕捉,改错难度较大。1.动态内存分配失败却继续操作内存不足等有可能导致动态内存分配失败,所以使用new请求分配动态内存后一定要检查返回地址是否为NULL...
分类:
其他好文 时间:
2014-10-25 10:34:50
阅读次数:
146
要让垃圾收集(GC)回收程序不再使用的对象,对象的逻辑生命周期(应用程序使用它的时间)和对该对象拥有的引用的实际生命周期必须是相同的。在大多数时候,好的软件工程技术保证这是自动实现的,不用我们对对象生命周期问题花费过多心思。但是偶尔我们会创建一个引用,它在内存中包含对象的时间比我们预期的要长得多,这...
分类:
编程语言 时间:
2014-10-24 23:32:25
阅读次数:
421
1 C++内存管理
A
栈上的空间
自生自灭,不用管理
B
堆上的空间
手动new,手动delete,否则产生内存泄漏
2
内存管理的难处
管理原则,谁申请谁释放
...
分类:
其他好文 时间:
2014-10-23 00:03:14
阅读次数:
264
JAVA会产生内存泄露吗?首先,答案是肯定的。Java虽然有垃圾回收器,但依然存在泄漏。
Java内存泄漏跟C/C++内存泄漏的概念不一样:C/C++的内存泄漏是指Malloc了一些资源,最后没有free掉,内存没有回收,这个是真正意义上的内存黑洞;而Java的泄漏指,Java对象的存在对程序已经没有意义,但是对象在程序周期内一直存在,这个可能会导致Java的内存泄漏。
总结原因,大概...
分类:
编程语言 时间:
2014-10-21 19:36:42
阅读次数:
254
OS万岁
1、图书馆书架上有4096本书,其中3072本可以借阅。其余1024本,放在玻璃柜里,不能查阅
2、学生在图书馆内可以阅读3072本中的任意一本,但是必须知道它的索引号
3、自觉的同学在使用完毕后,放回原处
4、不自觉的同学在使用完毕后,没有放回原处,而是丢在阅览室内的课桌上
5、图书馆管理员定时到阅览室内收集散落在课桌上的书籍,然后放回原处
一天贪同学为了做某种统计调研,陆...
分类:
其他好文 时间:
2014-10-21 10:28:08
阅读次数:
128
1.Quartz2D的内存管理使用含有“create”或者“copy”的函数创建的对象,使用完后必须释放,否则将导致内存泄漏。使用不含有“create”或“copy”的函数获取的对象,则不需要释放。如果retain了一个对象,不再使用时,需要讲起release掉。可以使用Quartz2D的函数来指定...
分类:
其他好文 时间:
2014-10-20 23:01:59
阅读次数:
288
前面三篇译文《TCMalloc:线程缓冲的Malloc》、《使用TCMalloc的堆栈检查》、《使用TCMalloc进行堆栈分析》介绍了TCMalloc的基本原理,以及堆栈分析和检查工具,TCMalloc优点很多,比glibc 2.3的malloc快、自带的堆栈工具可以轻松找出内存瓶颈和内存泄漏,给服务器开发指明了一条新的道路。...
分类:
其他好文 时间:
2014-10-20 17:22:31
阅读次数:
275
概述内存泄漏(memory leak)指由于疏忽或错误造成程序未能释放已经不再使用的内存的情况,在大型的、复杂的应用程序中,内存泄漏是常见的问题。当以前分配的一片内存不再需要使用或无法访问时,但是却并没有释放它,这时就出现了内存泄漏。尽管优秀的编程实践可以确保最少的泄漏,但是根据经验,当使用大量的函...
分类:
其他好文 时间:
2014-10-19 01:14:13
阅读次数:
471
时隔四个多月,高手裸奔首选工具:Sandboxie沙盘终于迎来v4.14最新正式版。新版启用了全新的ASLR技术,其次解决了几个重大内存泄漏难题;另外就是修复 Chrome 浏览器系列问题。 Sandboxie是...
分类:
数据库 时间:
2014-10-17 20:15:15
阅读次数:
832
内存泄漏是当一个对象或变量在使用完成后没有释放掉,那么如果我们走了另外一个极端情况会什么样呢?这就导致过度释放(over release)问题,从而使对象“僵尸化”,对象称为僵尸(zombies)对象。一个对象已经被释放过了,或者调用者没有这个对象的所有权而释放它, 都会造成过度释放,产生僵尸对象。...
分类:
移动开发 时间:
2014-10-16 15:47:42
阅读次数:
270