`
aeritheve
  • 浏览: 33947 次
  • 性别: Icon_minigender_2
  • 来自: 沈阳
社区版块
存档分类
最新评论

Finalize()方法

阅读更多

Finalize()方法

 

finalize()是一个方法,属于java.lang.Object类,它的定义如下:

protected void finalize() throws Throwable { }

众所周知,finalize()方法是GC(garbage collector)运行机制的一部分。

 

作用:finalize()方法是在GC清理它所从属的对象时被调用的,如果执行它的过程中抛出了无法捕获的异常(uncaught exception),GC将终止对改对象的清理,并且该异常会被忽略;直到下一次GC开始清理这个对象时,它的finalize()会被再次调用。

 

由于finalize()属于Object类,因此所有类都有这个方法,Object的任意子类都可以重写(override)该方法,在其中释放系统资源或者做其它的清理工作,如关闭输入输出流。

 

分享到:
评论

相关推荐

    Java中finalize方法使用.doc

    Java 中 finalize 方法使用 finalize 方法是 Java 编程语言中一个非常重要的方法,它与 Java 编程中的垃圾回收器有着紧密的关系。当一个对象变成一个垃圾对象的时候,如果此对象的内存被回收,那么就可以调用系统中...

    Java禁止使用finalize方法共2页.pdf.zip

    在Java编程语言中,`finalize()`方法是一个特殊的方法,它属于`Object`类,主要用于对象销毁前执行一些必要的清理工作。然而,随着Java版本的更新和垃圾收集机制的改进,`finalize()`方法逐渐失去了其原本的重要性,...

    Java禁止使用finalize方法

    Java禁止使用finalize方法 Java中的finalize方法是一个特殊的方法,位于Java.lang.Object类中,它的主要作用是允许开发者在对象被垃圾回收前执行一些清理工作。但是,finalize方法存在许多问题,导致它不被推荐使用...

    Java中finalize方法.pdf

    Java中的`finalize()`方法是Java语言提供的一种机制,用于在对象被垃圾回收之前进行资源清理。这个方法在Java的`Object`类中被定义为`protected`类型,因此所有Java类都能够覆盖它来实现特定的清理操作。在垃圾回收...

    Java中finalize()的用法

    Java 中的 finalize() 方法是垃圾回收器在回收对象时调用的第一个方法。finalize() 方法相当于析构函数,它是垃圾回收器回收一个对象时第一个要调用的方法。finalize() 方法的主要作用是释放对象占用的系统资源,...

    Java垃圾回收机制的finalize方法实例分析

    Java垃圾回收机制的finalize方法实例分析 Java垃圾回收机制的finalize方法是垃圾回收机制中一个非常重要的概念,它可以帮助开发者更好地理解和掌握垃圾回收机制的工作机理。本文将通过实例形式分析finalize方法的...

    简单理解Java的垃圾回收机制与finalize方法的作用

    Java中的`finalize()`方法是对象生命周期的一部分,它与C++中的析构函数类似,但在功能和调用时机上有所不同。`finalize()`方法是在对象被GC标记为可回收并准备释放之前调用的,提供了在对象被彻底删除前执行某些...

    Java中针对finalize的实现和相应的执行过程

     这个引用对象专门为带finalize方法的类服务,可以理解为每一个有相应的方法的对象,其都会封装为一种finalRefernece对象.  因为finalize方法是object定义的,其默认实现为空.那么如果重写了此方法,那么方法体...

    c#中的非托管资源释放 (Finalize和Dispose)

    #### Finalize方法 1. **Finalize**方法是一种用于释放非托管资源的方法之一。它通常是在对象即将被垃圾回收器销毁之前由系统调用的。该方法可以用来释放任何未被CLR管理的资源。 2. 要实现`Finalize`方法,需要...

    Java中覆盖finalize()方法实例代码

    Java中的finalize()方法覆盖实例代码详解 finalize()方法是Java中的一个特殊方法,它可以在对象被垃圾回收器回收之前执行一次。这个方法可以用来释放对象持有的资源,但是它的使用需要非常小心,因为它带有很多不...

    finalfinally和finalize的区别共2页.p

    // 调用父类的finalize方法 System.out.println("对象正在被垃圾回收..."); // 在这里进行资源释放操作 } ``` 总结一下,`final` 关键字用于声明常量、防止继承和覆盖;`finally` 用于保证异常处理中的关键代码...

    C++程序员容易犯的十个C#错误

    为此,需要调用静态方法GC.SuppressFinalize,并将相应对象的指针传递给它作为参数,垃圾收集程序就不会在回收内存前对该对象调用Finalize方法。 错误6:没有正确地理解.NET Framework的垃圾收集机制 C#程序员需要...

    第3讲 谈谈final、finally、 finalize有什么不同1

    **finalize方法** `Object`类中的`finalize()`方法是为了在对象被垃圾收集之前执行清理操作而设计的。然而,这个机制并不高效且不可靠,因为垃圾收集的时机不确定,而且可能导致性能下降。从Java 9开始,`finalize`...

    JAVA中销毁一个对象的方法.doc

    JAVA 中销毁一个对象的方法可以分为三种:垃圾回收器、finalize 方法和 System.gc 方法。 方法一:垃圾回收器 垃圾回收器是 Java 平台中用的最频繁的一种对象销毁方法。垃圾回收器会全程侦测 Java 应用程序的运行...

    Java中final,finally,finalize三个关键字的区别_动力节点Java学院整理

    final 关键字用于限制变量、方法和类的修改和继承,finally 块用于异常处理中的清理操作,finalize 方法用于垃圾回收器执行内存对象清理时的清理工作。了解这三个关键字的区别可以帮助我们更好地编写 Java 代码,...

    java 常用类

    在这篇文章中,我们将讨论一些 Java 中最常用的类,包括 Object 类、String 类、equals 和 == 的区别、finalize 方法的作用、hashCode() 方法、toString() 方法等。 hashCode() 方法 hashCode() 方法是 Object 类...

    3谈谈final、finally、finaliz1

    finalize方法是Java中Object类的一个方法,其初衷是提供一个机会在对象被垃圾收集器回收之前执行特定的清理操作。然而,这个机制在实际使用中存在诸多问题,比如执行时机不确定、性能开销、可能导致对象复活等问题。...

    java虚拟机垃圾回收详解

    在对象被销毁之前,垃圾回收器会执行对象的finalize方法,并清除finalizable标志。因此,一个简单对象的生命周期通常经历Unfinalized、Finalizable、Finalized和Reclaimed四个阶段。 在Java中,`System.gc()`方法...

    JAVA基础面试题,包含答案

    在垃圾收集器将对象从内存中清除出去之前,finalize 方法名允许使用 finalize() 方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。 二、 int 和 Integer 的区别 int 是基本数据类型,Integer 是其...

    C#多线程开发多个实例

    //为false时肯定是GC调用了对象的Finalize方法,所以没有必要再告诉GC你不要调用我的Finalize方法啦 if (disposing) { GC.SuppressFinalize(this); } } } static void Main(string[] args) { //tmpObj1...

Global site tag (gtag.js) - Google Analytics