0% found this document useful (0 votes)
8 views

Module 2 - GC

Uploaded by

shadow.range03
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views

Module 2 - GC

Uploaded by

shadow.range03
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 9

MODULE 2

Java Garbage Collection


Java Garbage Collection
In java, garbage means unreferenced objects.
Garbage Collection is process of reclaiming the runtime unused
memory automatically. In other words, it is a way to destroy the
unused objects.
To do so, we were using free() function in C language and delete() in
C++. But, in java it is performed automatically. So, java provides
better memory management.
Advantage of Garbage Collection

It makes java memory efficient because garbage collector removes


the unreferenced objects from heap memory.
It is automatically done by the garbage collector(a part of JVM) so
we don't need to make extra efforts.
How can an object be unreferenced?
How can an object be unreferenced? Contd..
1) Bynulling a reference:
• Employee e=new Employee();
• e=null;

2) By assigning a reference to another:


• Employee e1=new Employee();
• Employee e2=new Employee();
• e1=e2;//
now the first object referred by e1 is available for garb
age collection
3) By anonymous object:
• new Employee();
finalize() method
 The finalize() method is invoked each time before the object is garbage
collected. This method can be used to perform cleanup processing. This
method is defined in Object class as:
protected void finalize(){}
Note: The Garbage collector of JVM collects only those objects that are created by new
keyword. So if you have created any object without new, you can use finalize method to
perform cleanup processing (destroying remaining objects).
gc() method

 The gc() method is used to invoke the garbage collector to perform cleanup
processing. The gc() is found in System and Runtime classes.
public static void gc(){}

Note: Garbage collection is performed by a daemon thread called Garbage Collector(GC).


This thread calls the finalize() method before object is garbage collected.
Simple Example of garbage collection in java
public class TestGarbage1
{
public void finalize() {
System.out.println("object is garbage collected");
}
public static void main(String args[])
{
TestGarbage1 s1=new TestGarbage1();
TestGarbage1 s2=new TestGarbage1();
s1=null;
s2=null;
System.gc();
}
}
Simple Example of garbage collection in
java Contd..
Output:
object is garbage collected
object is garbage collected

You might also like