jdk doc
当垃圾回收确定不再有对该对象的引用时,由对象的垃圾回收器调用。子类重写finalize方法来释放系统资源或执行其他清理。
finalize的一般约定是,当 Java虚拟机已确定,任何尚未死亡的线程都不再可以通过任何方式访问此对象,除非由于已准备好完成的其他某个对象或类而执行的操作。finalize方法可以执行任何操作,包括使此对象再次可供其他线程使用finalize的通常目的,但是,是在不可撤销地丢弃对象之前执行清理操作。例如,对象的 finalize 方法,表示输入/输出连接可能执行显式 I/O 事务,用于在永久丢弃对象之前断开连接。
类Object 的finalize方法不执行特殊操作;它只是正常返回。子类可能会覆盖此定义。
Java 编程语言不保证哪个线程将为任何给定对象调用 {@code finalize} 方法。但是,可以保证,在调用 finalize 时,调用 finalize 的线程不会持有任何用户可见的同步锁。如果 finalize 方法引发未捕获的异常,则会忽略该异常,并终止该对象的最终化。
为对象调用 {@code finalize} 方法后,在 Java 虚拟机具有再次确定,任何尚未死亡的线程都不再可以通过任何方式访问此对象,包括准备完成的其他对象或类可能的操作,此时该对象可能会被丢弃。
Java 虚拟机对任何给定对象调用 finalize 方法永远不会超过一次。
finalize方法引发的任何异常都会导致此对象的完成将停止,但不是忽视。
相关推荐
Java中finalize方法使用
配方详细介绍了在Java中finalize()的用法。
Java禁止使用finalize方法共2页.pdf.zip
Java中finalize方法.pdf 学习资料 复习资料 教学资源
主要介绍了Java禁止使用finalize方法,需要的朋友可以参考下
这个引用对象专门为带finalize方法的类服务,可以理解为每一个有相应的方法的对象,其都会封装为一种finalRefernece对象. 因为finalize方法是object定义的,其默认实现为空.那么如果重写了此方法,那么方法体...
主要介绍了Java中覆盖finalize()方法实例代码,分享了相关代码示例,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下
主要介绍了简单理解Java的垃圾回收机制与finalize方法的作用,着重讲解了Java的GC销毁对象的过程,需要的朋友可以参考下
java.lang.object原始码最终不推荐使用java.lang.Object.finalize() 我的博客文章中的示例的Gradle源代码存储库。 在Linux Mint(SUSE Linux)上构建和测试。 由于gradle当前不支持Java 11,因此可以使用标准Java...
Java 技术允许使用finalize() 方法在垃圾收集器将对象从内存中清除出去 之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对 象调用的。它是在Object 类中定义的,因此所有的类都...
主要介绍了Java垃圾回收机制的finalize方法,结合实例形式分析了finalize方法的特点及在垃圾回收机制中的相关操作技巧,需要的朋友可以参考下
finalize 是一个不让人待见的方法,它是对象祖宗 Object 中的一个方法,finalize 机制现在已经不推荐使用了。本篇文章,cxuan 就带你从这三个关键字入手,带你从用法、应用、原理的角度带你深入浅出理解这三个...
一,谈谈final, finally, finalize的区别。 java面试题
Java中final,finally,finalize三个关键字的区别_动力节点Java学院整理
主要介绍了Java中finalize()详解及用法的相关资料,final是Java的关键字,它所表示的是“这部分是无法修改的”,需要的朋友可以参考下
在常规的java书籍中,即会描述 object的finalize方法是用于一些特殊的对象在回收之前再做一些扫尾的工作,但是并没有说明此是如何实现的.本篇从java的角度(不涉及jvm以及c++),有需要的朋友们可以参考借鉴。
主要介绍了详解Java编程中final,finalize,finally的区别,这个在Java面试题中简直是太常见了...需要的朋友可以参考下
Java 技术允许使用 finalize() 方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作,这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。
主要介绍了Java9垃圾回收方法finalize() 原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
Java技术允许使用finalize()方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在Object类中定义的,因此所有的类都继承了它。...