
本教程操作环境:windows7系统、java10版,DELL G3电脑。
1.概念
finalize()主要用于在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。
2.语法
1 | protected void finalize() throws Throwable { }
|
3.参数
无
4.返回值
没有返回值
5.实例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | public class FinalizeTest {
static class Person {
String name;
@Override
protected void finalize() throws Throwable {
System.out.println( "finalize " + name);
super .finalize();
}
}
public static void main(String[] args) {
Person p = new Person();
p.name = "ltt" ;
p = null ;
System.gc();
System.runFinalization();
}
}
|
运行结果运行结果
为了触发 gc行为,用了下面的代码:
1 2 | System.gc();
System.runFinalization();
|
以上就是finalize在java中的清理方法,在我们系统内容将要满时可以使用这种方法,不过这类情况出现的不多,所以finalize使用的次数也比较少。