Never rely on finalize
You cannot rely on finalize to always reclaim resources. Instead, if an object has resources which need to be recovered, it must define a method for that very purpose - for example a close method, or a dispose method. The caller is then required to explicitly call that method when finished with the object, to ensure any related resources are recovered.
For an extensive discussion, please see the "Avoid Finalizers" topic in Effective Java.
method is deprecated.
See Also :
Would you use this technique?