1、强引用(StrongReference)
强引用是使用最普遍的引用。如果一个对象具有强引用,那垃圾回收器绝不会回收它。如下:
[java] view
plaincopyprint?
Object o=new Object(); // 强引用
当内存空间不足,Java虚拟机宁愿抛出OutO...
分类:
编程语言 时间:
2015-07-28 13:04:24
阅读次数:
212
截止现今版本,Java的引用分为四种:强引用、软引用、弱引用和虚引用(又称幽灵引用),在JDK1.2中引入了这四种引用,使得开发中可以在一定程度上虚范围的控制Java对象的生命周期。之所以说虚范围,是因为即使使用了非强引用,最终的垃圾回收发起也都是由JVM垃圾回收机制决定的,但是这种改变是一种进步,使我们在应用中更加灵活。
强引用:
一般在Java开发中使用的都是强引用,之所以称之为...
分类:
编程语言 时间:
2015-07-24 20:58:56
阅读次数:
226
Java存在着几种引用:强引用,SoftReference,WeakReference和PhantomRefrence。可以简单的称为:强、软、弱、虚。引用的强度是依次递减的。 强引用意味着对象还要被使用,是不可以被回收的。 软引用可以被回收,...
分类:
编程语言 时间:
2015-07-22 13:24:46
阅读次数:
135
一、引言 Java中的引用类型由四种情况,强引用、软引用、弱引用、虚引用。关于这些的介绍可以参见鄙人另外一篇博文。 http://www.cnblogs....
分类:
编程语言 时间:
2015-07-17 20:30:32
阅读次数:
211
方法一:在从网络或本地加载图片的时候,只加载缩略图。这个方法的确能够少占用不少内存,可是它的致命的缺点就是,因为加载的是缩略图,所以图片失真比较严重,对于对图片质量要求很高的应用,可以采用下面的方法。方法二:运用JAVA的软引用,进行图片缓存,将经常需要加载的图片,存放在缓存里,避免反复加载。方法三...
分类:
移动开发 时间:
2015-07-15 09:21:30
阅读次数:
172
1.Weakreferencesareusefulformappingsthatshouldhavetheirentriesremovedautomaticallyoncetheyarenotreferencedanymore弱引用 对映射数据有用,并且不再引用时被自动删掉源码:public cl....
分类:
其他好文 时间:
2015-07-14 15:25:29
阅读次数:
203
什么对象需要被回收?? 没有被引用的对象要被回收。怎么判定对象已经没有被引用???1、引用计数算法。(因为循环引用问题,java没有使用这种方法)2、可达性分析法。主流实现。判定对象是否被引用。从GC ROOTS节点找引用链。(对象的引用有分为:强引用、软引用、弱引用、虚引用。 先不管~)根据区域....
分类:
其他好文 时间:
2015-07-08 20:55:56
阅读次数:
165
每当碰到一些大图片的时候,我们如果不对图片进行处理就会报OOM异常,这个问题曾经让我觉得很烦恼,后来终于得到了解决,那么现在就让我和大家一起分享一下吧。这篇博文要讲的图片缓存机制,我接触到的有两钟,一种是软引用,另一种是内存缓存技术。先来看下两者的使用方式,再来作比较。除了加载图片时要用到缓存处理,...
分类:
系统相关 时间:
2015-07-01 18:06:06
阅读次数:
186
Android用LruCache来取代原来强引用和软引用实现内存缓存,因为据说自2.3以后Android将更频繁的调用GC,导致软引用缓存的数据极易被释放。 LruCache使用一个LinkedHashMap简单的实现内存的缓存,没有软引用,都是强引用。根据LinkedHashMap的结构原理,最新的应该在尾端,旧的应该在头部。如果添加的数据大于设置的最大值,就删除最先缓存(头部)的数据来调整内存。...
分类:
移动开发 时间:
2015-06-27 10:02:13
阅读次数:
230
Java的四种引用源代码例子不解释,直接上代码,千言万语顶不住一行代码。package com.apkkids.javalanguage;import java.lang.ref.PhantomReference;
import java.lang.ref.Reference;
import java.lang.ref.ReferenceQueue;
import java.lang.ref.Sof...
分类:
编程语言 时间:
2015-06-27 09:54:59
阅读次数:
170