不能被系统自动回收的垃圾—finalize

java内有自己的垃圾回收机制,负责回收无用对象 占据的内存资源,但是也有特殊的情况,如果用得对象不是用NEW来获得的特殊内存区域,java是不知道是否该释放这部分 的区域,对于这种情况可以在类里面建立一个finalize()方法来释放,这样系统在准备回收垃圾的时候会调用这个方法,并在下次垃圾回收动作发生的时候才会真真回收对象占据的内存。

finalize()在什么时候被调用?

 有三种情况 1.所有对象被Garbage Collection时自动调用,比如运行 .gc()的时候.

 2.程序退出时为每个对象调用一次finalize方法。

 3.显式的调用finalize方法

posted on 2012-02-26 23:27  心中的她  阅读(205)  评论(0编辑  收藏  举报