• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

When will an object of a class will perish?

 
srikanth prasad
Greenhorn
Posts: 4
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
When will an object of a class will perish?
Can we explicitly do that by calling any inbuilt methods to perish the instance of a class ?
 
William P O'Sullivan
Ranch Hand
Posts: 859
Chrome IBM DB2 Java
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Set it to null, cleanly exit the methods, release all references and let the Garbage Collector deal with it.

You call tell the GC to fire via the API, but you are not guaranteed it will run "on demand".

WP
 
srikanth prasad
Greenhorn
Posts: 4
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thanks William P O'Sullivan.
I can set the object references to null or I can request GC to get invoked either by System.gc() or Runtime.getRuntime().gc().
If I do either of these two, GC may or maynot fire the instances of the class from the heap.
But what I want to know is other than these, are there any ways to find when an object of a class will perish?
 
fred rosenberger
lowercase baba
Bartender
Pie
Posts: 12100
30
Chrome Java Linux
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
William P O'Sullivan wrote:Set it to null, cleanly exit the methods, release all references and let the Garbage Collector deal with it.

You call tell the GC to fire via the API, but you are not guaranteed it will run "on demand".

WP

How, exactly, do you set an object to null? you can set a reference to an object to null, but that won't guarantee anything.

and I believe you can suggest the GC run, not tell it to.
 
Jeff Verdegan
Bartender
Posts: 6109
6
Android IntelliJ IDE Java
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
srikanth prasad wrote:When will an object of a class will perish?


Define what you mean by "perish". That is not part of the standard Java lexicon.

If you mean "reclaim its memory," there's no way to force that in Java.

If you mean "make it so that its memory can be reclaimed, so that, as far as my program can tell, the object can no longer be used and its memory is, for all intents and purposes, available," then the answer is to ensure that there are no reachable references to it.

If you mean something else, please clarify.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic