JAVA中的强引用、软引用、弱引用、虚引用
来源:互联网 发布:科隆群岛 知乎 编辑:程序博客网 时间:2024/05/24 08:33
Java中关于引用的定义为:如果reference类型的数据中存储的数值代表的是另一块内存的起始地址,就称这块内存代表着一个引用。这种定义很纯粹,但是太过狭隘,一个对象在这种定义下只有被引用或者没有被引用两种状态,对于如何描述一些“食之无味,弃之可惜”的对象就显得无能为力。我们希望可以描述这么一类对象:当内存足够时,可以保留在内存中;如果内存空间在进行垃圾回收后还是很紧张,那么就把他抛弃(几种引用类型产生的目的)。JDK 1.2之后,Java对引用的概念进行了扩充,将引用分为:强引用、软引用、弱引用、虚引用4种。这4种引用强度依次减弱。
强引用:普遍存在的。比如Object obj=new Object();这类的引用,只要强引用存在,GC就永远不会回收掉这类被引用的对象。
软引用:一些还有用但是并非必须的对象。JDK1.2后,提供了SoftReference类来实现软引用。例如1、Object obj=new Object();SoftReference sf=new SoftReference(obj);这样就实现了一个软引用。一般软引用用来实现内存敏感的高速缓存。注:内存不足时,进行回收。
弱引用:用来描述非必需对象的,强度比软引用还要弱,被弱引用关联的对象只能生存到下一次垃圾回收之前。在GC扫描它所管辖的内存区域时,一旦发现弱引用对象,就会将它回收掉。JDK1.2后使用WeakReference来实现弱引用。例:Object obj=new Object();WeakReference wf=new WeakReference(obj);这样就实现了一个软引用。注:只要被发现,立马回收。
虚引用:形同虚设。如果一个对象持有虚引用,那么任何时候都可能被回收。为一个对象设置虚引用关联的唯一目的就是能够在这个对象被收集器回收时收到一个系统通知。
0 0
- java中的强引用、软引用、弱引用、虚引用
- JAVA中的强引用、弱引用、软引用、虚引用
- java中的强引用、软引用、弱引用、 虚引用
- java中的强引用,软引用,弱引用,虚引用
- java中的强引用、软引用、弱引用、虚引用
- java中的强引用,软引用,弱引用,虚引用
- java中的强引用、软引用、弱引用、虚引用
- JAVA中的强引用、软引用、弱引用、虚引用
- JAVA中的四种引用:强引用,软引用,弱引用,虚引用
- Java中的几种引用类型:强引用、软引用、弱引用和虚引用
- Java中的4种对象引用类型:强引用、软引用、弱引用和虚引用
- Java中的引用(强引用、弱引用、软引用、虚引用)
- Java中的引用类型(强引用、软引用、弱引用、虚引用)
- Java中的四种引用方式(强引用、软引用、弱引用、虚引用)
- Java中的四大引用(强引用,弱引用,软引用,虚引用)
- java中的四种引用介绍,强引用,软引用,弱引用,虚引用
- Android中的强引用、软引用、弱引用、虚引用
- Java 强引用、 软引用、 弱引用、虚引用
- 【LeetCode】406. Queue Reconstruction by Height
- oracle 权限管理、角色管理详解
- java多线程
- android 代码规范总结
- python断言
- JAVA中的强引用、软引用、弱引用、虚引用
- Maven 插件
- 第二章:类和对象的特征
- Android环境搭建之eclipse
- 最长递增子序列问题
- latex使用技巧
- 蓝桥杯 兰顿蚂蚁
- OpenCV 遇到的常见问题
- 1129. Recommendation System (25)