在Java中,强引用(Strong Reference)是最常见、默认的引用类型。它是一种正常的对象引用,如果一个对象具有强引用与之关联,那么即使内存紧张,垃圾回收器也不会回收该对象。
下面是使用强引用的示例:
public class StrongReferenceExample {
public static void main(String[] args) {
// 创建一个字符串对象,并用强引用进行关联
String str = new String("Hello World");
// 显示强引用的值
System.out.println("Strong Reference: " + str);
}
}
在这个示例中,我们创建了一个字符串对象,并使用强引用 str
与之关联。强引用可以通过变量 str
直接访问对象,而且只要 str
存在,垃圾回收器就不会回收被引用的字符串对象。
强引用的特点包括:
- 强引用可以直接访问对象。
- 强引用不会在内存充足的情况下被垃圾回收器回收。
- 强引用可以避免对象被提前回收,但也可能导致内存泄漏问题。
需要注意的是,当一个对象不再被引用时,即没有任何强引用指向它时,它将成为垃圾回收的候选对象。然后,垃圾回收器将根据需要来确定何时回收这些对象以释放内存。
强引用是Java中最常用的引用类型,大多数情况下,我们使用的都是强引用。
强引用类型只有显式地设置o为null,或超出对象的生命周期范围(如非全局变量),则gc认为该对象不存在引用,这时就可以回收这个对象。