本文主要是重申下这几种引用的差别,并给出实际的例子,让读者清楚的感受到它们的差别。软引用和弱引用差别不大,JVM都是先将其referent字段设置成null,之后将软引用或弱引用,加入到关联的引用队列中。我们可以认为JVM先回收堆对象占用的内存,然后才将软引用或弱引用加入到引用队列。而虚引用则不同,JVM不会自动将虚引用的referent字段设置成null,而是先保留堆对象的内存空间,直接将PhantomReference加入到关联的引用队列,也就是说如果我们不手动调用PhantomReference.cl...
分类:
编程语言 时间:
2014-11-21 23:20:12
阅读次数:
1095
本文介绍对象的强、软、弱和虚引用的概念、应用及其在UML中的表示。1.对象的强、软、弱和虚引用 在JDK 1.2曾经的版本号中,若一个对象不被不论什么变量引用,那么程序就无法再使用这个对象。也就是说,仅仅有对象处于可触及(reachable)状态,程序才干使用它。从JDK 1.2版本号開始,把对象的...
分类:
其他好文 时间:
2014-11-09 12:27:08
阅读次数:
223
本文介绍对象的强、软、弱和虚引用的概念、应用及其在UML中的表示。1.对象的强、软、弱和虚引用 在JDK 1.2以前的版本中,若一个对象不被任何变量引用,那么程序就无法再使用这个对象。也就是说,只有对象处于可触及(reachable)状态,程序才能使用它。从JDK 1.2版本开始,把对象的引用分为4...
分类:
其他好文 时间:
2014-10-29 16:55:53
阅读次数:
204
转载请注明出处http://blog.csdn.net/xiaanming/article/details/9825113 异步加载图片的例子,网上也比较多,大部分用了HashMap<String, SoftReference<Drawable>> imageCache ,但是现在已经不再推荐使用这种方...
分类:
移动开发 时间:
2014-10-23 10:51:58
阅读次数:
372
============问题描述============ 学做android,自己想模仿QQ空间做一个小demolistview异步加载图片的时候遇到了一个问题异步加载用到了SoftReference和文件缓存的方法每次加载图片的时候,也在内存或缓存中找到了图片第一次加载出来后,listview滑动...
分类:
移动开发 时间:
2014-10-22 00:29:32
阅读次数:
268
本文介绍对象的强、软、弱和虚引用的概念、应用及其在UML中的表示。1.对象的强、软、弱和虚引用 在JDK 1.2曾经的版本号中,若一个对象不被不论什么变量引用,那么程序就无法再使用这个对象。也就是说,仅仅有对象处于可触及(reachable)状态,程序才干使用它。从JDK 1.2版本号開始,把对象的...
分类:
其他好文 时间:
2014-10-11 22:54:06
阅读次数:
343
====================问题描述==================== 学做android,自己想模仿QQ空间做一个小demolistview异步加载图片的时候遇到了一个问题异步加载用到了SoftReference和文件缓存的方法每次加载图片的时候,也在内存或缓存中找到了图片第一次...
分类:
移动开发 时间:
2014-09-30 18:06:09
阅读次数:
224
我们知道java语言提供了4种引用类型:强引用、软引用(SoftReference)、弱引用(WeakReference)和幽灵引用(PhantomReference),与引用密切相关的,还有一个引用队列ReferenceQueue。引用和引用队列的关系,对于垃圾回收来说非常重要,学习垃圾回收机制,必须要先了解引用和引用队列的使用方法。本文主要参考网上的一些理论,同时配合自己的一些测试代码,更好的理解这些概念,也解决了之前博客中遗留的问题。...
分类:
编程语言 时间:
2014-09-21 21:21:11
阅读次数:
403
java中四种引用类型 今天看代码,里面有一个类java.lang.ref.SoftReference把小弟弄神了,试想一下,接触java已经有3年了哇,连lang包下面的类都不了解,怎么混。后来在网上查资料,感觉收获颇多,现记录如下。对象的强、软、弱和虚引用 在JDK 1.2以前的版本中,若一.....
分类:
编程语言 时间:
2014-09-12 11:46:13
阅读次数:
543
内存缓存(LruCache):系统提供的LruCache类是非常适合用作缓存Bitmap任务的,它将最近被引用到的对象存储在一个强引用的LinkedHashMap中,并且在缓存超过了指定大小之后将最近不常使用的对象释放掉。注意:以前有一个非常流行的内存缓存实现是SoftReference(软引用)或...
分类:
其他好文 时间:
2014-09-05 17:47:21
阅读次数:
204