阅读本文大概需要3.8分钟
欢迎大家关注我的公众号:神兽学编程
目录
1、前言
在Java中提供了四个级别的引用:强引用,软引用,弱引用和虚引用。在这四个引用类型中,只有强引用FinalReference类是包内可见,其他三种引用类型均为public,可以在应用程序中直接使用。引用类型的类结构如图所示。
2、强引用
Java中默认声明的就是强引用,例如以下代码,如果M对象被回收了,会打印 finalize() 方法中的内容:
public class Demo {
public static void main(String[] args) throws IOException {
M m = new M(); //只要m还指向M对象,M对象就不会被回收
// m = null; //手动置null
System.gc(); // 进行垃圾回收
System.in.read();
}
}
class M {
@Override
protected void finalize() {
System.out.println("对象被回收了...");
}
}
运行结果: