public class Garbage
{
int a=0;
public void add()
{
int c=10+20;
System.out.println(c);
System.out.println(a);
}
public static void main(String args[])
{
Garbage obj=new Garbage();
System.gc();
System.out.println("Garbage Collected");
obj.add();
}
}
Above is a code in java used for garbage collection. object
obj has been created for the class Garbage and system.gc
method is called. Then using that object add method is
called.System.gc method if called the obj should be garbage
collected?
Answers were Sorted based on User's Feedback
Answer / namita
First We cannot force the garbage collection to garbage the
object. Garbage collection can never be forced.
So by calling System.gc() will not ensure you that the
object will be garbage collected.
Is This Answer Correct ? | 2 Yes | 0 No |
Answer / madhu
Garbage Collector is called by the JVM. and it will collect
the objects which has no reference, in the above case obj
has reachability,so JVM won't force the garbage collector to
collect the obj object.
Is This Answer Correct ? | 2 Yes | 0 No |
Answer / namita
Maverickhari,
Garbage collector is system created thread which runs
automatically.
We are not sure when the garbage collection is going to
happen. this totally depends upon the JVM. Like connection
pool all the the objects are created in pool JVM will check
if there is no free memory in pool then it searches for the
objects which are no longer in use and will garbage collect
that and allocate to some other object.
hope this will clear
Is This Answer Correct ? | 1 Yes | 0 No |
Answer / bhudeep
Java provides us one method System.gc()to call garbage
collection forcefully.But by calling System.gc() will not
ensure you that the object will be garbage collected.
Is This Answer Correct ? | 0 Yes | 0 No |
What are the different ways of creating thread?
What is Hierarchy of exception?
whats the difference between == and .equal ?
What does s mean in regex?
How does compareto work in java?
Write java program to reverse string without using api?
How to create a base64 decoder in java8?
Why parameters should be passed by reference?
How to make a non daemon thread as daemon?
Are nested try statements are possible?
Why is it called a string?
Does anyone still use java?