java的GC只负责内存相关的清理,所有其它资源的清理必须由程序员手工完成。要不然会引起资源泄露,有可能导致程序崩溃。源泄露,有可能导致程序崩
finalize()主要用于一些特殊对象的垃圾回收~~这些特殊的对象
一般而言,Java有垃圾回收器来回收无用对象占据的内存资源,但有的对象并非使用new获得的内存区域。
由于垃圾回收器只知道释放那些由new分配的内存,所以它不知道该如何释放该对象的这种特殊的对象。在这种情况下,Java允许你在类中定义一个名为finalize( )的方法,用于这些特殊对象的回收,但是有时即使finalize()方法以及运行,也不一定能保证对象能被回收,所以一般不推荐用finalize()方法,将内存交给系统托管省心~~
|