Java GC

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.