finalize()方法

垃圾回收器准备好释放对象占用的存储空间,将首先调用finalize()方法。

注意:不保证垃圾回收一定会回收(只有程序的存储空间濒临用完时,垃圾回收期才会执行回收,如果一直没回收,会在程序退出后,将资源交还给操作系统),因此一般的清理工作,需要自己手动创建一个执行清理工作的普通方法,并明确调用。那么什么时候用finalize()呢?

finalize()使用的情况

1java中调用本地方法存储空间的释放

使用“本地方法(在java中调用非java代码)”,本地方法目前只支持c和c++,但他们可以调用其他语言写的代码,所以实际上可以调用任何代码。例如:在非java代码中调用c的malloc()函数系列来分配存储空间。这就需要在finalize()中调用c和c++的free()函数来释放存储空间。

2对象的终结条件的验证???

你可能感兴趣的:(java基础)