垃圾回收过程中的对象销毁-finalization
2018-02-27 13:44
267 查看
finalize()方法名。java技术允许使用finalize()方法在垃圾回收器将对象从内存中清除之前做必要的清理工作。这个方法是由垃圾回收器在确定这个对象没有被引用时对这个对象调用的。它是在object类中定义的,因此所有的类都继承了它。
就在移除一个对象并回收它的内存空间之前,java垃圾回收器将会调用各个实例的finalize()方法,这样实例对象就有机会可以释放掉它占用的资源。尽管finalize()方法是保证在回收内存空间之前执行的,但是对具体的执行时间和执行顺序是没有任何保证的。多个实例之间的finalize()执行顺序是不能提前预知的,甚至有可能它们是并行执行的。程序不应该预先假设实例执行finalize()的方法,也不应该使用finalize()方法来回收资源。
在finalize过程中 抛出的异常都默认被忽略掉了,同时对象的销毁过程被取消。
垃圾回收是由守护进程执行的。
notify()唤醒线程,与wait()和同步锁synchronized()方法配合使用。
就在移除一个对象并回收它的内存空间之前,java垃圾回收器将会调用各个实例的finalize()方法,这样实例对象就有机会可以释放掉它占用的资源。尽管finalize()方法是保证在回收内存空间之前执行的,但是对具体的执行时间和执行顺序是没有任何保证的。多个实例之间的finalize()执行顺序是不能提前预知的,甚至有可能它们是并行执行的。程序不应该预先假设实例执行finalize()的方法,也不应该使用finalize()方法来回收资源。
在finalize过程中 抛出的异常都默认被忽略掉了,同时对象的销毁过程被取消。
垃圾回收是由守护进程执行的。
notify()唤醒线程,与wait()和同步锁synchronized()方法配合使用。
相关文章推荐
- 垃圾回收之对象的死亡过程
- c# -- 对象销毁和垃圾回收
- 对象的销毁与垃圾回收机制
- c# -- 对象销毁和垃圾回收
- c# -- 对象销毁和垃圾回收
- C# 对象销毁和垃圾回收
- c# -- 对象销毁和垃圾回收
- 垃圾回收:没在GC Root链上的对象通过finalize()自我拯救的过程
- c# -- 对象销毁和垃圾回收
- python基础 之 对象销毁(垃圾回收)
- (8) 一个死循环一直不停的new对象过程中的垃圾回收的情况
- 牛客网Java刷题知识点之垃圾回收算法过程、哪些内存需要回收、被标记需要清除对象的自我救赎、对象将根据存活的时间被分为:年轻代、年老代(Old Generation)、永久代、垃圾回收器的分类
- 3、垃圾收集之回收的对象
- Java 详解垃圾回收与对象生命周期
- java对象清除和垃圾回收
- Java 对象与垃圾回收
- 垃圾回收过程
- 对象与垃圾回收
- Java基础复习笔记 对象状态、引用种类、垃圾回收形式02
- 【JVM】GC垃圾回收(一)——对象你死了没?