一文读懂java中的Reference和引用类型 |
您所在的位置:网站首页 › references用法 › 一文读懂java中的Reference和引用类型 |
目录简介强引用Strong Reference软引用Soft Reference弱引用weak Reference虚引用PhantomReferenceReference和ReferenceQueue四大状态三个Queue/ListWeakHashMap总结
一文读懂java中的Reference和引用类型
简介
java中有值类型也有引用类型,引用类型一般是针对于java中对象来说的,今天介绍一下java中的引用类型。java为引用类型专门定义了一个类叫做Reference。Reference是跟java垃圾回收机制息息相关的类,通过探讨Reference的实现可以更加深入的理解java的垃圾回收是怎么工作的。 本文先从java中的四种引用类型开始,一步一步揭开Reference的面纱。 java中的四种引用类型分别是:强引用,软引用,弱引用和虚引用。 强引用Strong Referencejava中的引用默认就是强引用,任何一个对象的赋值操作就产生了对这个对象的强引用。 我们看一个例子: public class StrongReferenceUsage { @Test public void stringReference(){ Object obj = new Object(); } }上面我们new了一个Object对象,并将其赋值给obj,这个obj就是new Object()的强引用。 强引用的特性是只要有强引用存在,被引用的对象就不会被垃圾回收。 软引用Soft Reference软引用在java中有个专门的SoftReference类型,软引用的意思是只有在内存不足的情况下,被引用的对象才会被回收。 先看下SoftReference的定义: public class SoftReference extends ReferenceSoftReference继承自Reference。它有两种构造函数: public SoftReference(T referent)和: public SoftReference(T referent, ReferenceQueue |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |