自学内容网 自学内容网

如何调用垃圾回收器的方法

System.gc() 或者 Runtime.getRuntime().gc()

gc()作用

提示 Java 虚拟机进行垃圾回收, 该方法被调用之后,由 Java虚拟机自己决定是立即回收还是延迟回收。平时该方法由系统自动调用,不需要人为调用。

public class Person {
    public Person() {
        System.out.println("person被创建了");
    }
    public void finalize() {
        System.out.println("person对象被回收了");
    }
}

未调用GC

// 未调用GC
public static void main(String[] args) {
Person p = new Person();
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
p = null;
}

结果:
person被创建了

调用GC

// 调用GC
public static void main(String[] args) {
Person p = new Person();
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
p = null;
System.gc();
}

结果:
person被创建了
person对象被回收了

个人对finalize()的理解

释放对象占用的内存之前会调用该方法,个人理解是给这个对象留遗言的机会,让他死以前可以再做点啥


原文地址:https://blog.csdn.net/weixin_37646636/article/details/136378415

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!