java语言 百分网手机站

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

时间:2020-12-01 13:06:32 java语言 我要投稿

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

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

  Strong reference - 强引用

  Soft Reference - 软引用

  Weak Reference - 弱引用

  Phantom Reference - 虚引用

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

  1.Strong reference - 强引用

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

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

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

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

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

【Java/Android引用类型及其使用分析】相关文章:

1.使用Java的枚举类型的方法

2.c#引用类型和值类型

3.c语言引用类型和值类型

4.浅谈Java中的弱引用

5.c语言引用类型与值类型的区别详解

6.浅谈理解Java中的弱引用

7.Java数据类型转换

8.Java数据类型解说