Major/Minor GC in Java
In this Section you will learn the type of GC or garbage collection in Java.
In java, objects are dynamically allocated using new() keyword. But the key question is what happened to these objects when they have no use. How these objects are destroyed for later reallocation of their memory. In java this is done automatically through garbage collection. In other words it deallocate memory automatically which have no longer use. This technique is known as Garbage Collection.
In this way, java ensures that sufficient memory will available to your program. It (Garbage Collection) is controlled by the configuration parameters of the heap.
Note: Heap resides in the physical memory which is incorporated by the Java Virtual Machine(JVM) for the creation of objects. The configuration parameter of the heap are Xms & Xmx. You can use these configuration parameter as :
java ?Xms:256m Xmx:1g
It points that the Xms(minimum heap size) is 256Mb & Xmx(Maximum heap size) is !024Mb.
Types of Garbage Collection(GC)
The garbage collection is of two types :
- Major
- Minor
Before understanding Major/Minor GC, first you need to understand young generation.
Young Generation :
The temporary objects which are ,initially, not fully garbage collected. When these young generation become old, they become part of the old generation. Old generation is known as Minor GC. When Minor GC become fully garbage collected, it is known as Major GC.
How To Check Major/Minor GC
You can check the Major/Minor GC as follows :
To check the Major/Minor GC , you need to start your application as follows :
java ?verbose:gc HelloWorld
The Output of the above should be like this :
GC 325407K->83000K(776768K), 0.2300771 secs
- GC : This tells us that it is a minor collection. If it
is Full GC then it tells us that it is a major collection.
- 325407K ? The combined size of live objects before
garbage collection.
- 83000K ? The combined size of live objects after
garbage collection.
- (776768K) ? the total available space, not counting the
space in the permanent generation, which is the total heap minus one of the
survivor spaces.
- 0.2300771 secs ? time it took for garbage collection to
occur.