一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)—由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap)—一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。注意它与数据结构中的堆...
分类:
其他好文 时间:
2014-10-19 18:34:57
阅读次数:
330
1.UIImage图片设置的缓存问题//用这个方法设置图片,有缓存,且不释放[UIImage imageNamed:/*文件名*/ ]//没缓存,会主动释放[[UIImage alloc] initWithContentsOfFile: /*文件全路径*/] 2.随机数的生成arc4random_u...
分类:
移动开发 时间:
2014-10-19 15:27:06
阅读次数:
167
在ORACLE数据库当中,有时候会使用ALTER SYSTEM KILL SESSION 'sid,serial#'杀掉一个会话进程,但是使用这个SQL语句杀掉会话后,数据库并不会立即释放掉相关的资源,有时候你会发现锁定的资源很长时间也不会释放,即使会话状态为“KILLED”,依然会阻塞其它会话。 ...
分类:
数据库 时间:
2014-10-19 10:11:56
阅读次数:
306
IPhoneOS有没有垃圾回收?autorelease和垃圾回收制(gc)有什么关系?没有。autorelease只是延迟释放,gc是每隔一段时间询问程序,看是否有无指针指向的对象,若有,就将它回收。他们
两者没有什么关系。
分类:
其他好文 时间:
2014-10-19 01:31:13
阅读次数:
189
概述内存泄漏(memory leak)指由于疏忽或错误造成程序未能释放已经不再使用的内存的情况,在大型的、复杂的应用程序中,内存泄漏是常见的问题。当以前分配的一片内存不再需要使用或无法访问时,但是却并没有释放它,这时就出现了内存泄漏。尽管优秀的编程实践可以确保最少的泄漏,但是根据经验,当使用大量的函...
分类:
其他好文 时间:
2014-10-19 01:14:13
阅读次数:
471
一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为下面几个部分 1、栈区(stack)— 由编译器自己主动分配释放 ,存放函数的參数值,局部变量的值等。其 操作方式相似于数据结构中的栈。 2、堆区(heap) — 一般由程序猿分配释放, 若程序猿不释放,程序结束时可能由O...
分类:
其他好文 时间:
2014-10-18 19:41:28
阅读次数:
259
说到block .想听我废话下它的基础。block 是一个闭包函数。所谓闭包就是 引用了自由变量的函数。这个被引用的自由变量将和这个函数一同存在,即使已经离开了创造它的环境也不例外。oc 中 block 默认创建后 分配在栈中。。当向其 发送 copy 消息后 被移到堆上。 防止被释放。由上面定义可...
分类:
其他好文 时间:
2014-10-18 18:11:14
阅读次数:
199
new/ delete 的使用(仅限于c++,注意,new、delete不是函数而是操作符!注意与c中的malloc和free区分)编程的时候经常要用到堆内存的分配,通常使用的操作符是new,这个时候就必然要用到delete去释放申请的内存空间。此时至少要遵循以下原则:(1)new和delete是....
分类:
编程语言 时间:
2014-10-18 16:54:03
阅读次数:
183
内存管理机制引用计数:因为OC中不存在垃圾回收机制,所以才根据引用计数回收机制。当引用计数为0时,销毁空间。也就是说,根据引用计数来确定一个对象是否释放。可以改变引用计数的操作:allcoretainreleasecopydealloc便利构造器自动释放池:每次对象调用autorelease方法时(..
分类:
其他好文 时间:
2014-10-18 11:19:31
阅读次数:
120
1.malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符。它们都可用于申请动态内存和释放内存2.对于非内部数据类型的对象而言,光用maloc/free无法满足动态对象的要求。对象在创建的同时要自动执行构造函数,对象在消亡之前要自动执行析构函数。由malloc/fr...
分类:
其他好文 时间:
2014-10-17 21:54:28
阅读次数:
189