java内有自己的垃圾回收机制,负责回收无用对象 占据的内存资源,但是也有特殊的情况,如果用得对象不是用NEW来获得的特殊内存区域,java是不知道是否该释放这部分 的区域,对于这种情况可以在类里面建立一个finalize()方法来释放,这样系统在准备回收垃圾的时候会调用这个方法,并在下次垃圾回收动作发生的时候才会真真回收对象占据的内存。
finalize()在什么时候被调用?
有三种情况 1.所有对象被Garbage Collection时自动调用,比如运行 .gc()的时候.
2.程序退出时为每个对象调用一次finalize方法。
3.显式的调用finalize方法