Java GC

Java GC Tutorials, Detailed discussion of Young and Old Generation GC

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. 
  • 0.2300771 secs ? time it took for garbage collection to occur.

Tutorials

  1. Assertion in java
  2. Anonymous Inner Classes - Anonymous Inner Classes tutorial
  3. Appending Strings - Java Tutorials
  4. Assertion in Java
  5. Autoboxing unboxing in Java - Java Tutorials
  6. Thread Deadlocks - Java Tutorials
  7. BASIC Java - Java Tutorials
  8. Interthread Communication in Java
  9. boolean comparisons - tutorial
  10. Catching Exceptions in GUI Code - Java Tutorials
  11. Exception in Java - Java Tutorials
  12. Causing Deadlocks in Swing Code
  13. Class names don't identify a class - Java Tutorials
  14. Commenting out your code - Java Tutorials
  15. Java Deadlocks - Java Deadlocks Tutorials, Deadlocks in Java
  16. Disassembling Java Classes - Java Tutorials
  17. Double-checked locking,java tutorials,java tutorial
  18. Exceptional Constructors - Java Tutorials
  19. Final Methods - Java Tutorials
  20. garbage collection in java
  21. Java - JDK Tutorials
  22. J2EE Singleton Pattern - Design Pattern Tutorials
  23. Java Comments - Java Tutorials
  24. Java Field Initialisation - Java Tutorials
  25. Java HashSet  - Java Tutorials
  26. Java Multi Dimensions Array - Java Tutorials
  27. java awt package tutorial
  28. Java GC
  29. Java HashMap - Java Tutorials
  30. JDK 1.4 the NullPointerException - Java Tutorials
  31. HashMap and HashCode
  32. LinkedHashMap - Java Tutorials
  33. Which is Faster - LinkedList or ArrayList?
  34. Making Enumerations Iterable - JDK 5 Example
  35. Making Exceptions Unchecked - java tutorial,java tutorials
  36. Creation Time Comparison of Multi Dimensional Array- Java Tutorials
  37. Multicasting in Java - java tutorials,tutorial
  38. Non-virtual Methods in Java - java tutorials
  39. Orientating Components Right to Left,java newsletter,java,tutorial
  40. The link to the outer class,java tutorial,java tutorials