This week's book giveaway is in the Jobs Discussion forum.
We're giving away four copies of Java Interview Guide and have Anthony DePalma on-line!
See this thread for details.
The moose likes Java in General and the fly likes Garbage Collector and System.gc() Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of Java Interview Guide this week in the Jobs Discussion forum!
JavaRanch » Java Forums » Java » Java in General
Bookmark "Garbage Collector and System.gc()" Watch "Garbage Collector and System.gc()" New topic

Garbage Collector and System.gc()

Renjith Mohan
Ranch Hand

Joined: Nov 28, 2008
Posts: 65

It is said Java garbage collector can not be forced and there is no guarantee even if we use System.gc()

My question is if there is no guarantee, then why do we need such a method?

I'd like to know what exactly happens once System.gc() is called?

Thanks in advance,
tushar bhasme
Ranch Hand

Joined: Feb 11, 2008
Posts: 50
well, technically speaking, System.gc() would call the Runtime().gc() which would pass on the implementation as native to the JVM. So, in short, its all upto the JVM vendor and his choice of implementation how the garbage collection would work...
Seetharaman Venkatasamy
Ranch Hand

Joined: Jan 28, 2008
Posts: 5575

tushar bhasme wrote:well, technically speaking, System.gc() would call the Runtime().gc()

not Runtime().gc(), it is Runtime.getRuntime().gc();
satish varma

Joined: Feb 11, 2010
Posts: 27
The main objective of Garbage Collector is to destruct the useless objects. Garbage Collector is a DeamonThread and it always running in the background with low thread priority. If an object doesnt have any reference variable then it always eligible for GC( some times even though object having reference also it is eligible for GC)
If an Object eligible for Gc and when ever JVM runs garbage collector then only that objects will destroyed.

we can also request to JVM to run GC in the followin ways

the behaviour of garbage collector vendor dependent hence we cant expect exactly when JVM executes GC, in wich order GC destroys the objects, is Gc destroy all eligible objects... etc

there are so many things remaining about garbage collection, digg the things..
I agree. Here's the link:
subject: Garbage Collector and System.gc()
jQuery in Action, 3rd edition