博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【转】finalize()方法和System.gc()方法的作用---(部分修改)
阅读量:5760 次
发布时间:2019-06-18

本文共 881 字,大约阅读时间需要 2 分钟。

hot3.png

//此类说明了 finalize 关键字以及 System.gc() 的作用
/*
     finalize 类似 c++中析构函数,表示对象即将消亡时,调用此方法
     gc() 方法表示把拉级回收器启动,把拉圾收走
*/
 

package test;

class TestGC {

  private String name;

    private int age;

    public TestGC() {

    }

    public TestGC(String name) {

        this.name = name;   

    }

    public TestGC(String name,int age) {

        this(name);  

        this.age = age;

    }

     

    //每个类里面都有finalize方法,和构造方法功能相反,一个是对象产生时调用,一个是对象消亡时调用

    @Override

    public void finalize() {

//测试,为了看到效果!!!!!

         

        System.out.println(this.name+"开始清理对象...");

    }

     

    public static void main(String[] args) {

        

        TestGC gc1=new TestGC("gc1");

        TestGC gc2=new TestGC("gc2");

        TestGC gc3=new TestGC("gc3");

        new TestGC("gc4");//该对象一产生即成为拉圾

         

        gc3=null;

        System.gc();

        System.out.println("未清理");//先输出这个,说明什么时间GC,是由JVM控制的。

        gc1=null;//将对象置null,或没有对象指向,均能触发GC

        System.gc();

    }

     

}

/*

输出结果:(gc1、gc2、gc3的输出顺序不确定,也是由JVM决定的)

未清理

gc3开始清理对象...

gc1开始清理对象...

gc4开始清理对象...

*/

转载于:https://my.oschina.net/airship/blog/297647

你可能感兴趣的文章
usaco Arithmetic Progressions
查看>>
使用记事本编写java程序并编译
查看>>
iOS 推送
查看>>
pta l3-20(至多删三个字符)
查看>>
没事写写css
查看>>
web.coofig 配置跨域问题
查看>>
将不确定变成确定~frameset页面不能正确加载
查看>>
springboot + kafka
查看>>
leetcode House Robber
查看>>
(最新)各大公司Java后端开发面试题总结
查看>>
CSS——NO.6(盒模型)
查看>>
初识设计模式(1)---单例、工厂、注册树
查看>>
nodejs笔记--与MongoDB的交互篇(七)
查看>>
Python 学习笔记【04】用户输入
查看>>
day16 Python map函数
查看>>
图模型的统计推断 inference in graphical models(马尔科夫链的推断)
查看>>
HDU 2204 Eddy's爱好(容斥原理dfs写法)题解
查看>>
经典的20道AJAX面试题
查看>>
构建工具scons让一切变得简单
查看>>
GX面试笔试
查看>>