package demo.oo;
class Person2 {
private int id;
Person2(int id) {
this.id = id;
}
public void finalize() {
System.out.println("对象将作为垃圾被回收……");
}
}
// 如果一个对象被垃圾回收 器回收的时候,会先调用对象的finalize()方法。
class Finalize {
public static void main(String[] args) {
Person2 p1 = new Person2(1);
Person2 p2 = new Person2(2);
Person2 p3 = new Person2(3);
p1 = null;
p2 = null;
System.gc();
for (int i = 0; i < 9999999; i++) {
//延迟程序运行时间。此时java虚拟机在后台回收垃圾
}
System.gc();//回收p3
}
}
垃圾回收模拟
Java垃圾回收与finalize方法
最新推荐文章于 2025-11-14 14:50:46 发布
本文探讨了Java中对象被垃圾回收时如何调用finalize()方法。通过示例代码展示了如何创建Person2对象并设置为null,触发垃圾回收,延迟程序运行以允许垃圾回收过程,并在第二次调用System.gc()时回收p3对象。
3万+

被折叠的 条评论
为什么被折叠?



