网站首页 语言 会计 电脑 医学 资格证 职场 文艺体育 范文
当前位置:书香门第 > 计算机 > java语言

Java/Android引用类型及其使用分析

栏目: java语言 / 发布于: / 人气:1.13W

  Java/Android中有四种引用类型,分别是:

Java/Android引用类型及其使用分析

Strong reference - 强引用

Soft Reference - 软引用

Weak Reference - 弱引用

Phantom Reference - 虚引用

不同的引用类型有着不同的特性,同时也对应着不同的使用场景。

  ng reference - 强引用

实际编码中最常见的一种引用类型。常见形式如:A a = new A();等。强引用本身存储在栈内存中,其存储指向对内存中对象的地址。一般情况下,当对内存中的对象不再有任何强引用指向它时,垃圾回收机器开始考虑可能要对此内存进行的垃圾回收。如当进行编码:a = null,此时,刚刚在堆中分配地址并新建的`a对象没有其他的任何引用,当系统进行垃圾回收时,堆内存将被垃圾回收。

SoftReference、WeakReference、PhantomReference都是类rence的子类。Reference作为抽象基类,定义了其子类对象的基本操作。Reference子类都具有如下特点:

rence子类不能无参化直接创建,必须至少以强引用对象为构造参数,创建各自的子类对象;

2.因为1中以强引用对象为构造参数创建对象,因此,使得原本强引用所指向的堆内存中的对象将不再只与强引用本身直接关联,与Reference的子类对象的引用也有一定联系。且此种联系将可能影响到对象的垃圾回收。

根据不同的子类对象对其指示对象(强引用所指向的堆内存中的对象)的垃圾回收不同的影响特点,分别形成了三个子类,即SoftReference、WeakReference和PhantomReference。