posted 18 years ago
This is actually referring to the fact that the GC will only call the finalize method of an object, a maximum of one time -- it is not referring to how may times any other thread may call that method.
This may sound like a weird statement, but remember that it is possible for an object to be no longer eligible for garbage collection after the finalize method completes.
For example, during finalization, it is determined that the object should not be GC'ed. The method can set a reference to itself, in a collection, or a static variable somewhere, that will make itself reachable. It will no longer be eligible for garbage collection.
Care should be taken though, because if it ever becomes unreachable again, it will be simply garbage collected, as the finalize method will not be called again.
Henry
[ September 09, 2006: Message edited by: Henry Wong ]