栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

finalize在java中的清理

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

finalize在java中的清理

本教程操作环境:windows7系统、java10版,DELL G3电脑。

1.概念

finalize()主要用于在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。

2.语法

protected void finalize() throws Throwable { }

3.参数

4.返回值

没有返回值

5.实例

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;  // 此后,p原先指向的Person对象会在某个时间被 gc 回收掉
 
        System.gc();  // 建议 JVM 进行 gc 操作,但不一定会进行 gc 操作
        System.runFinalization();  // 执行将要被销毁的对象的 finalize 方法
    }
}

‍运行结果运行结果

finalize ltt

为了触发 gc行为,用了下面的代码:

System.gc();  // 建议 JVM 进行 gc 操作,但不一定会进行 gc 操作
System.runFinalization();  // 执行将要被销毁的对象的 finalize 方法

以上就是finalize在java中的清理方法,在我们系统内容将要满时可以使用这种方法,不过这类情况出现的不多,所以finalize使用的次数也比较少。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/15235.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号