本文介绍对象的强、软、弱和虚引用的概念、应用及其在UML中的表示。1.对象的强、软、弱和虚引用 在JDK 1.2曾经的版本号中,若一个对象不被不论什么变量引用,那么程序就无法再使用这个对象。也就是说,仅仅有对象处于可触及(reachable)状态,程序才干使用它。从JDK 1.2版本号開始,把对象的...
分类:
其他好文 时间:
2015-05-18 22:31:22
阅读次数:
126
近期研究Java Cache实现,发现使用到了软引用(SoftReference),不太理解,查阅了JDK文档、代码以及几篇文章。做个小结,如有错误,欢迎指正。之所以想学习一下Java的几种引用类型,原因有两个:理解Java Cache实现、学习Java引用与Java垃圾回收机制的关系内存资源是有限...
分类:
编程语言 时间:
2015-05-07 23:37:19
阅读次数:
199
Java中的 WeakReference 和 SoftReference
分类:
编程语言 时间:
2015-05-07 20:19:51
阅读次数:
136
Lrucache是Android4.0以后提供的一个用于缓存的类,这个类抛弃了原有的softReference(软引用)形式,因为android4.0以后虚拟机更倾向与回收软引用,也就是一旦虚拟机发现软引用,就会进行回收,这使得软引用变得不再可靠。
Lrucache的源码并不长,内部是使用LinkedHashMap map来存储缓存的键值对,下面我带大家一起看一下lrucache的源码,希望大家...
分类:
系统相关 时间:
2015-04-22 20:46:18
阅读次数:
153
Java中的SoftReference即对象的软引用。如果一个对象具有软引用,内存空间足够,垃圾回收器就不会回收它;如果内存空间不足了,就会回收这些对象的内存。只要垃圾回收器没有回收它,该对象就可以被程序使用。软引用可用来实现内存敏感的高速缓存。使用软引用能防止内存泄露,增..
分类:
移动开发 时间:
2015-04-21 02:07:52
阅读次数:
166
由Android缓存设计想到的
前言
到底是应该使用虚拟机底层通过GC回收保障的SoftReference,还是使用一个带LRU算法的队列,哪个更适合Android系统下的应用?
计划
分三个部分:
+ SoftReference
+ LRU Queue
+ Google官方的做法...
分类:
移动开发 时间:
2015-04-20 18:27:11
阅读次数:
144
Java 中强引用, 软引用SoftReference,弱引用WeakReference,虚引用
Java当中的引用有四种:
1.强引用
平常我们用的最多的引用。 强引用是使用最普遍的引用。如果一个对象具有强引用,那垃圾回收器绝不会回收它。当内存空间不足,Java虚拟机宁愿抛出OutOfMemoryError错误,使程序异常终止,也不会靠随意回收具有强引用的对象来解决内存不足的问题。只...
分类:
编程语言 时间:
2015-04-19 18:01:03
阅读次数:
123
本文介绍对象的强、软、弱和虚引用的概念、应用及其在UML中的表示。1.对象的强、软、弱和虚引用 在JDK 1.2以前的版本中,若一个对象不被任何变量引用,那么程序就无法再使用这个对象。也就是说,只有对象处于可触及(reachable)状态,程序才能使用它。从JDK 1.2版本开始,把对象的引用分为4...
分类:
其他好文 时间:
2015-04-18 19:12:39
阅读次数:
157
闲来无事,用Java的软引用写了一个山寨的缓存博客分类:java基础众所周知java中的引用分为 StrongReference、SoftReference、WeakReference、PhantomReference。这几种引用有不同那个的 使用场景,平时我们用的最频繁的也就是StrongRefe...
分类:
编程语言 时间:
2015-04-01 11:08:05
阅读次数:
219
简单介绍下软引用:Java中的SoftReference即对象的软引用。如果一个对象具有软引用,内存空间足够,垃圾回收器就不会回收它;如果内存空间不足了,就会回收这些对象的内存。只要垃圾回收器没有回收它,该对象就可以被程序使用。软引用可用来实现内存敏感的高速缓存。使用软引用能防止内存泄露,增强程序的...
分类:
其他好文 时间:
2015-03-19 10:07:36
阅读次数:
286