引用是Java中内存管理和垃圾回收机制的重要组成部分,Java 提供了多种类型的引用来允许开发者以不同的方式管理内存,其中最常用的是强引用(strong reference)和弱引用(weak reference)。以下是对这些引用类型的详细解释:
强引用(Strong Reference)
定义:
强引用是 Java 默认的引用类型。当你使用一个普通的对象引用时,就是在使用强引用。
特性:
- 只要一个对象有强引用存在,垃圾回收器就不会回收这个对象。
- 强引用可以直接访问对象。
- 常见的对象引用形式,如
Object obj =new Object();
,就是强引用。
弱引用(Weak Reference)
定义:
弱引用是一种相对较弱的引用类型。弱引用不会阻止垃圾回收器回收该对象。
特性:
- 当只有弱引用指向一个对象时,垃圾回收器可以随时回收该对象。
- 弱引用通常用于实现内存敏感的缓存等。
- 要使用弱引用,需要通过
java.lang.ref.WeakReference
类。