package trkj;
//此类说明了 finalize 关键字以及 System.gc() 的作用
/*
finalize 类似 c++中析构函数,表示对象即将消亡时,调用此方法
gc() 方法表示把拉级回收器启动,把拉圾收走
*/
public class Person {
private String name;
private int age;
public Person() {
}
public Person(String name) {
this.name = name;
}
public Person(String name, int age) {
this(name);
this.age = age;
}
// 每个类里面都有finalize方法,和构造方法功能相反,一个是对象产生时调用,一个是对象消亡时调用
public void finalize() {
System.out.println("开始清理对象...");
}
public static void main(String[] args) {
// 下面三个对象一产生即成为拉圾
new Person();
new Person();
new Person();
/*new Person().finalize();
Person person = new Person();
person.finalize();*/
// 如果不加上下面这句,以上产生的三个对象虽成为拉圾,但不一定马上就会启用拉圾回收机制把拉圾回收走
// 所以就可能看不到 finalize 方法内部执行的效果
System.gc();
}
}
finalize()方法和System.gc()方法的功能
最新推荐文章于 2023-03-09 07:45:00 发布