playground

引用类型

强引用

最常见的引用,比如new出来的对象,垃圾收集器不会回收被强引用关联的对象。

Object o = new Object();

软引用

在系统内存即将耗尽前,垃圾收集器会把软引用关联的对象列入回收范围进行二次回收,如果回收完成后依然没有足够的内存,那么就抛出内存溢出的异常。

弱引用

被弱引用关联的对象无论内存是否充裕都会被垃圾收集器回收。

虚引用

虚引用是最弱的一种引用关系,我们无法通过虚引用来获取与它关联的对象,其唯一作用是当一个对象被回收时收到一个系统通知。