Question:
How can I finalize an object without waiting for the garbage collector?
Answer:
The System class contains a convenience method called gc() that can
be used to ask the JVM to run the garbage collector. It also contains
a method called runFinalization() which can be invoked to ask the JVM
to perform all pending finalizations.
These methods are the
equivalent of calling Runtime.getRuntime() and invoking the
corresponding method on the resulting Runtime instance. To finalize
objects that are no longer referenced, you would call System.gc() to
find all unreferenced objects and then System.runFinalization() to
perform finalizations. However, garbage collection and finalization
are not guaranteed to have occurred after calling these methods. The
methods only specify that the JVM will make a best effort to complete
the requested actions.