java : 可以通俗的解释java中的finalize方法么?

如题所述

第1个回答  2014-01-19
这个方法用来叫”清洁阿姨的“,当虚拟机有空闲,有垃圾产生(没有了引用的对象),虚拟机就会调用这个方法来处理垃圾。这个清理有很大的随机性(但前面两个前提要满足),还会看你的电脑配置情况。。
第2个回答  2014-01-20
这个方法通俗点讲:
就是当java调用GC(垃圾清理器)去把这个东西清出内存前会去调用的方法.
可以简单理解为这个对象的"遗嘱"(....要死前必须要做的事情啊!!)追问

多谢你了,晚安了

本回答被网友采纳
第3个回答  2014-01-19
对象占用的内存要被垃圾回收前,虚拟机会调用对象的这个方法通知它一下。

java : 可以通俗的解释java中的finalize方法么?
这个方法用来叫”清洁阿姨的“,当虚拟机有空闲,有垃圾产生(没有了引用的对象),虚拟机就会调用这个方法来处理垃圾。这个清理有很大的随机性(但前面两个前提要满足),还会看你的电脑配置情况。。

java中关于finalize的简单问题
finalize()是Object里面的方法,因为Object是任何类的父类,所以说任何类里面都有finalize方法,但是这个方法不用你来写,因为这个方法是java虚拟机来执行,用来清理垃圾的

JAVA里finalize()方法是干什么用的?
类的Finalize方法,可以告诉垃圾回收器应该执行的操作,该方法从Object类继承而来。在从堆中永久删除对象之前,垃圾回收器调用该对象的Finalize方法。注意,无法确切地保证垃圾回收器何时调用该方法,也无法保证调用不同对象的方法的顺序。即使一个对象包含另一个对象的引用,或者在释放一个对象很久以前就释放了...

finalize是什么意思?
finalize是Java中的一个方法,用于在垃圾回收器清理对象之前执行清理工作。该方法可以用于清理打开的文件,释放占用的系统资源等。当对象变成垃圾时,垃圾回收器会调用对象的finalize方法。通过使用finalize方法,可以避免在程序运行时出现内存泄漏等问题。finalize方法的使用 在编写需要清理的代码时,应该使用try-...

Java中final,finally和finalize的区别
放在finally里面代码一定会执行!finalize 这个是Java在调用gc回收器的时候,启动的一个方法,这个方法在Object之下,通俗点说,每个对象都会默认头上都会带一个这样的方法,在回收器启动后,会自动过来执行这个方法,这个是不固定的(因为回收器什么时候来执行他不确定)这个方法很少用到..作为了解即可!

Java中的finalize详解
看来之所以要有finalize( ) 是由于你可能在分配内存时 采用了类似C语言中的做法而非Java中的通常做法 这种情况主要发生在使用 本地方法 的情况下 它是在Java中调用非Java代码的一种方式 本地方法目前只支持C和C++ 但它们可以调用其它语言写的代码 所以你实际上可以调用任何代码 在非Java代码中 也许会...

Java中final,finally和finalize的区别
简单的来说:final用于声明属性,方法和类,分别表示属性不可交变,方法不可覆盖,类不可继承。finally是异常处理语句结构的一部分,表示总是执行。finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,供垃圾收集时的其他资源回收,例如关闭文件等 这些在thinking in java里有...

finalize()方法详解
Java的Object类中,finalize()方法是一个保护性方法,它的主要目的是供子类实现资源清理工作。不过,不同于C++的析构函数,Java finalize的调用时机并不确定,可能会在对象被GC回收之前或之后执行,因此不建议用于内存资源的清理,更适合处理非内存资源,如本地对象和非内存资源的额外释放。需要注意的是,...

Java中final,finally和finalize的区别
(如果你深究这个就不一定了,可以用return来不让他执行,也可以用退出虚拟机, 这些都是较劲的做法,正常使用的情况都是拿来放一定会被执行的代码的!)finalize:垃圾回收器准备释放内存的时候,会先调用finalize() 这玩意我怎么去解释呢?他是一个回收的方法,默认存在所有的对象都有的! 就好比,...

finalize是什么意思
以Java为例,finalize是Object类中的一个protected方法,子类可以覆盖该方法以在垃圾收集器回收对象之前执行特定的清理操作。然而,需要注意的是,依赖finalize进行资源清理通常不是一个好的做法,因为它不能保证及时执行,甚至可能根本不会被执行。更可靠的做法是使用try-with-resources语句或实现AutoCloseable...

相似回答