zoukankan      html  css  js  c++  java
  • finalize() 方法——Java中垃圾回收提醒方法

    finalize() 

    Java 允许定义这样的方法,它在对象被垃圾收集器析构(回收)之前调用,这个方法叫做 finalize( ),它用来清除回收对象。

    例如,你可以使用 finalize() 来确保一个对象打开的文件被关闭了。

    在 finalize() 方法里,你必须指定在对象销毁时候要执行的操作。

    这是Java手册上的解释,说白了,建立一个这方法,可以在你一个变量或其他对象销毁时,也就是扔进垃圾箱时可以提前给你个报告。

    比如我原来 demo a=new demo();

    现在我再写a=null;

    这就叫丢了一个对象。如果在原类中建立了finalize() 方法,就会执行这个方法。这个方法的作用可以让你确保,这个对象的确是GG了。(不过不是即时触发,而是相当于留了个凭证,用System.gc();就能调出这个凭证

    具体是写个这个方法就行了,里面填的就是操作代码。

    如以下案例

    public class demo {
       public static void main(String args[])
       {
    	   Cake c1=new Cake(1);
    	   Cake c2=new Cake(2);
    	   c2=null;
    	   System.gc();//必须调这个函数,这样才执行
    	  
       }
    	
    }
    
    class Cake extends Object
    {
    	private int id;
    	public Cake(int id)
    	{
    		this.id=id;
    		System.out.println("cake is"+id+"is creat!");
    	}
    	protected void finalize() throws java.lang.Throwable  //这就是这个类,在第6行C2销毁时,就会执行这里面的东西
    	{
    		
    		System.out.println("Cake Object"+id+"is disposed");
    	}
    	
    	
    }
    

      效果如下

    本文来自博客园,作者:独元殇,转载请注明原文链接:https://www.cnblogs.com/duyuanshang/p/12398765.html

  • 相关阅读:
    Ueditor富文本编辑器
    ashx误删后,未能创建类型
    一个菜鸟的ASP.NET观光路线图
    地位尴尬的WebForm、ASP.NET核心知识(10)
    经典排序算法--归并排序
    经典排序算法--快速排序
    经典排序算法--冒泡排序
    经典排序算法--堆排序
    经典排序算法--简单选择排序
    经典排序算法--希尔排序
  • 原文地址:https://www.cnblogs.com/duyuanshang/p/12398765.html
Copyright © 2011-2022 走看看