引用计数器的基本操作/*
1.方法的基本使用
1> retain :计数器+1,会返回对象本身
2> release :计数器-1,没有返回值
3> retainCount :获取当前的计数器
4> dealloc
* 当一个对象要被回收的时候,就会调用
* 一定要调用[super dealloc],这句调用要放在最后面 2.概念
1> 僵尸对象 :所占用内存已经被回收的对象,僵...
分类:
其他好文 时间:
2015-04-20 15:03:34
阅读次数:
134
内存管理 1、基本知识 2、关闭ARC机制 3、@property 4、循环引用 5、自动释放池一、基本知识内存的分类 栈:局部变量 堆:动态申请的对象,变量等 全局(静态):static 变量,const变量,全局变量等引用计数器 每个OC对象都有自己的引用计数器,是一个整数,表...
分类:
移动开发 时间:
2015-04-18 23:22:29
阅读次数:
187
一、垃圾回收器简介
1、概念:垃圾回收器是用来自动管理虚拟机中内存的,包括自动分配和自动回收的功能,免去了由程序员来释放内存的麻烦。
2、原因:因为由程序员自己释放内存很可能会出现各种问题,如内存泄露或者悬挂引用,从而导致程序终止。
二、常见垃圾回收算法
1、引用计数器法
(1)实现思路:当新的引用指向新的对象时;对象的计数器加1,当引用失效时,对象的计数器减1;当引用计数器的值变为0时...
分类:
其他好文 时间:
2015-04-18 14:34:03
阅读次数:
124
众所周知,在Objective-C中的内存管理是通过一种叫做“引用计数器”的机制管理的。举例, 当我声明了一个新的实例NSData *data = [[NSData alloc] init]现在,内存中有一个NSData类型的对象,名叫data。它的引用计数器的值为1. 如果我再次引用它的时候,他的...
分类:
其他好文 时间:
2015-04-14 19:39:27
阅读次数:
108
垃圾回收器如何确定哪些对象要回收: 引用计数法 很多教科书判断对象是否存活的算法是这样的:给对象添加一个引用计数器,每当有一个地发引用它时,计数器值就加1;当引用失效时,计数器值就减1;任何时刻计数器都...
分类:
编程语言 时间:
2015-04-08 21:40:27
阅读次数:
141
内存管理:谁retain ,谁release谁alloc ,谁release每一个对象在创建时都会创建一个引用计数器,系统会根据引用计数器判断对象需要不需要被回收对象在创建时引用计数器是1当调用retain消息 计数器 +1 返回对象本身当调用release消息 计数器 -1retainCount ...
分类:
其他好文 时间:
2015-04-07 11:28:58
阅读次数:
180
【哪些内存需要回收】 当对象判定为"已死"状态,虚拟就要采取一定的手段将这些对象从内存中移除。 1.引用计数算法 很多教科书判断对象是否存活的算法是这样的:给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值加1;当引用失效时,计数器减1;任何时刻计数器都为0的对象就是不可能再被使用的。 引...
分类:
编程语言 时间:
2015-04-04 15:08:14
阅读次数:
180
http://blog.csdn.net/tq02h2a/article/details/4317211看了看linux 2.6 kernel的源码,下面结合代码来分析一下在X86体系结构下,互斥锁的实现原理。代码分析1. 首先介绍一下互斥锁所使用的数据结构:struct mutex {引用计数器1...
分类:
系统相关 时间:
2015-04-02 01:04:36
阅读次数:
274
任何继承了NSObject的对象,都需要内存管理,但是对基本数据类型无效(不需要释放)原理:每个对象内部都保存了一个与之相关联的整数,称为引用计数器当使用alloc、new或者copy创建一个对象时,对象的引用计数器被设置为1给对象发送一条retain消息,可以使引用计数器值+1给对象发送一条rel...
分类:
其他好文 时间:
2015-04-01 15:06:20
阅读次数:
123
3.1判断对象是否已死引用-计数算法给对象添加一个引用计数器,每当有一个地方引用它时,计数器值就加1;当引用失效时,计数器值就减1;任何时候计数器为0的对象就是不可能再被使用的。3.2判断对象是否已死引用-可达性分析算法在主流的程序语言中,都是通过可达性分析来判断对象是否存活的。这个算法的基本思路就...
分类:
编程语言 时间:
2015-03-30 00:59:32
阅读次数:
247