今天在网上看到了这样一个问题,“如果malloc 了一块字符串的内存,然后,它改变了这个字符串的大小,问会不会有一部分内存没有被释放掉。”这个问题,以前的确没有仔细想过。
当然,我觉得是肯定会释放掉的,但是一直没有了解过free 的原理,不敢乱说。我看了一下操作系统的内存管理,基本上是这样的,当然各个系统的实现不一样。
操作系统管理内存,维护了一个空闲内存链表,malloc从个链表中选...
分类:
数据库 时间:
2014-08-19 09:24:53
阅读次数:
163
- (void)setName:(NSString *)name
{
判断原有对象和新对象是否是同一个对象,如果是同一个,就没有必要再重新赋值,否则会先release 再retain,就会变成野指针
if (_name !=
name) {
释放保有之前对象的所有权
[_name rele...
分类:
其他好文 时间:
2014-08-18 23:37:03
阅读次数:
257
初学者在学习Objective-c的时候,很容易在内存管理这一部分陷入混乱状态,很大一部分原因是没有弄清楚引用计数的原理,搞不明白对象的引用数量,这样就当然无法彻底释放对象的内存了。本文分享了自己在理解引用计数时的分析过程,结合相关图形,希望能让大家深刻理解对象引用计数的原理。
分类:
其他好文 时间:
2014-08-18 23:32:23
阅读次数:
331
PHP多次调用Mysql数据库的存储过程会出现问题,主要问题为存储过程中执行多次SQL语句不能一一释放导致的,网上找了一些解决办法,比如使用 multi_query 然后一个一个释放,但是发现根本不适合我们的项目,我们使用CI框架写的,更多的是使用CI的数据库处理方法。所以只能另辟蹊径。一次偶然,把...
分类:
数据库 时间:
2014-08-18 23:19:12
阅读次数:
209
被static修饰的属于内部链接,不可被外部程序文件所使用一般而言,全局变量(文件作用域变量)具有静态存储期,局部变量(代码块作用域变量)具有自动存储期寄存器变量不能使用地址运算符因为被static修饰的变量不会中途被释放,所以不能用static修饰函数的形参变量的定义放在所有函数定义的外部即创建了...
分类:
其他好文 时间:
2014-08-18 22:00:02
阅读次数:
175
之前很长一段时间,导出shapefile文件老是不能解锁,后缀为wr.lock及sr.lock的lock文件不能消除。我是释放了要素类及游标等接口的: System.Runtime.InteropServices.Marshal.ReleaseComObject(featureCursor) ...
分类:
其他好文 时间:
2014-08-18 17:44:12
阅读次数:
320
今天在网上看到了这样一个问题,“如果malloc 了一块字符串的内存,然后,它改变了这个字符串的大小,问会不会有一部分内存没有被释放掉。”这个问题,以前的确没有仔细想过。
当然,我觉得是肯定会释放掉的,但是一直没有了解过free 的原理,不敢乱说。我看了一下操作系统的内存管理,基本上是这样的,当然各个系统的实现不一样。
操作系统管理内存,维护了一个空闲内存链表,malloc从个链表中选...
分类:
数据库 时间:
2014-08-18 10:53:44
阅读次数:
208
获得自旋锁和释放自旋锁有好几个版本,因此让读者知道在什么样的情况下使用什么版本的获得和释放锁的宏是非常必要的。 如果被保护的共享资源只在进程上下文访问和软中断(包括tasklet、timer)上下文访问,...
分类:
其他好文 时间:
2014-08-18 09:22:44
阅读次数:
280
参考"http://blog.sina.com.cn/s/blog_63d4849c01014qg3.html"C语言内存分为5部分:堆、栈、全局(静态)区、常量区(只读)和代码区。堆,需要人工申请和释放内存,其他均为系统自动释放。全局(静态)区、常量区:全局可见!#include #include...
分类:
编程语言 时间:
2014-08-18 01:30:23
阅读次数:
222
Java垃圾回收机制 说到垃圾回收(Garbage Collection,GC),很多人就会自然而然地把它和Java联系起来。在Java中,程序员不需要去关心内存动态分配和垃圾回收的问题,这一切都交给了JVM来处理。顾名思义,垃圾回收就是释放垃圾占用的空间,那么在Java中,什么样的对象会被认定为....
分类:
编程语言 时间:
2014-08-18 00:12:53
阅读次数:
278