Java 对象的引用方式有如下四种,这四种方式主要是为了给垃圾回收提供更灵活的操作: 1、强引用,最常见的引用方式,当一个对象被一个或一个以上的引用变量引用时,它处于可达状态,这时不会被垃圾回收器回收。 2、软引用(SoftReference),通常用于内存敏感的程序中,当一个对象只有软引用时,当系 ...
分类:
编程语言 时间:
2016-03-28 02:10:44
阅读次数:
268
本文前部分来自:http://www.cnblogs.com/mokey/archive/2011/11/24/2261605.html 分割线后为作者补充部分。 一:什么是弱引用 了解弱引用之前,先了解一下什么是强引用 例如 : Object obj=new Object(); 就是一个强引用,内 ...
1. 打开ARC:-fobjc-arc 关闭ARC:-fno-objc-arc 2. 在ARC中内存回收由编译器完成 声明对象之后,未将对象置为nil,则对象作用域结束时,空间才会被回收;如果将对象置为nil,则对象的空间会立即回收。 3. __strong __weak __strong:强引用, ...
分类:
其他好文 时间:
2016-03-26 12:15:54
阅读次数:
124
API Reference对__block变量修饰符的解释,大概意思: 1.__block对象在block中是可以被修改、重新赋值的。 2.__block对象在block中不会被block强引用一次,从而不会出现循环引用问题。 API Reference对__weak变量修饰符的解释,大概意思: 使
分类:
其他好文 时间:
2016-03-17 19:13:37
阅读次数:
123
博主最近在整理Java集合框架时,在整理到WeakHashMap的时候,觉得有必要先阐述一下Java的引用类型,故此先整理的这篇文章,希望各位多提提意见。
??闲话不多说,直接进入主题。Java中提供了4个级别的引用:强应用、软引用、弱引用和虚引用。这四个引用定义在java.lang.ref的包下。
强引用( Final Reference)??就是指在程序代码中普遍存在的,类似Object o...
分类:
编程语言 时间:
2016-03-17 14:50:45
阅读次数:
394
AC在应用中大量使用了block,由于Objective-C语言的内存管理是基于引用计数的,为了避免循环引用问题,在block中如果要引用self,需要使用@weakify(self)和@strongify(self)来避免强引用。 一、block的循环引用问题 ? [objc] view plai
分类:
其他好文 时间:
2016-03-07 13:28:20
阅读次数:
194
bash是弱类型的编程语言,不严格区分数据类型,意味把所有数据统统当作字符串处理;字符串类型的数据可不加引号。引号有三种类型:‘,",` ‘,":字符引用 ‘:强引用,其内部的变量不会被替换; ":弱引用,其内部的变量会被替换; `:命令引用 变量引用:${NAME}bash..
分类:
其他好文 时间:
2016-03-06 23:55:20
阅读次数:
562
retain cycle 会造成内存溢出,严重情况会引起崩溃。一般注意点也不会发生,但在网络连接比较多的地方就会不小心出现,vc异步的网络请求,成功后的block调用vc,如果此时,用户已经不用此vc了,vc还是没有释放。曾近自己写过一个下拉刷新,那个view和vc互相强引用,导致了没释放。view
分类:
其他好文 时间:
2016-03-06 00:56:28
阅读次数:
189