Java 中的引用

Posted Solomon_xm

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java 中的引用相关的知识,希望对你有一定的参考价值。

JVM 是根据可达性分析算法找出需要回收的对象,判断对象的存活状态都和引用有关。

在 JDK1.2 之前这点设计的非常简单:一个对象的状态只有引用和没被引用两种区别。

这样的划分对垃圾回收不是很友好,因为总有一些对象的状态处于这两之间。

因此 1.2 之后新增了四种状态用于更细粒度的划分引用关系:

强引用(Strong Reference):这种对象最为常见,比如 A a = new A();这就是典型的强引用;这样的强引用关系是不能被垃圾回收的。

软引用(Soft Reference):这样的引用表明一些有用但不是必要的对象,在将发生垃圾回收之前是需要将这样的对象再次回收。

弱引用(Weak Reference):这是一种比软引用还弱的引用关系,也是存放非必须的对象。当垃圾回收时,无论当前内存是否足够,这样的对象都会被回收。

虚引用(Phantom Reference):这是一种最弱的引用关系,甚至没法通过引用来获取对象,它唯一的作用就是在被回收时可以获得通知。

以上是关于Java 中的引用的主要内容,如果未能解决你的问题,请参考以下文章

片段中的 super.onCreateView

片段中的网格视图

一道经典面试题:字符串在Java中如何通过“引用”传递

Java中对象的引用[关闭]

Java中super关键字的作用与用法

(转) Java中的负数及基本类型的转型详解