File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
The moose likes Programmer Certification (SCJP/OCPJP) and the fly likes Restoring an object in finalize() ? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Certification » Programmer Certification (SCJP/OCPJP)
Bookmark "Restoring an object in finalize() ?" Watch "Restoring an object in finalize() ?" New topic
Author

Restoring an object in finalize() ?

Rick Reumann
Ranch Hand

Joined: Apr 03, 2001
Posts: 281
Part of an explanation concerning garbage collection was given as:
"An object that has been eligible for garbage collection may stop being eligible and return to normal life. This occurs if the call to the finalize() method re-establishes a reference from the active part of the program to the object."
Can someone provide an example of this in a finalize method? I'm not clear how an object once eligble now could become eligible.
Thanks.
Valentin Crettaz
Gold Digger
Sheriff

Joined: Aug 26, 2001
Posts: 7610
I guess the following code snippet demonstrates the concept:

Output:
Test object after creation:Test@17d257
Test object before resurrection:null
Test object after resurrection:Test@17d257
HIH


SCJP 5, SCJD, SCBCD, SCWCD, SCDJWS, IBM XML
[Blog] [Blogroll] [My Reviews] My Linked In
Rick Reumann
Ranch Hand

Joined: Apr 03, 2001
Posts: 281
Thanks Valentin,
I was thinking that with the statement
t=this
in the finalize method that the JVM would see this and wouldn't try to even garbage collect it in the first place after it was set to null in the main. I see now that I was wrong thanks.
 
jQuery in Action, 2nd edition
 
subject: Restoring an object in finalize() ?