Java Garbage Collections

Posted By on September 16, 2014


Download PDF
Operators in java
Difference between string class and string buffer class:

In the Java programming language, dynamic allocation of objects is achieved using the new operator. An object once created uses some memory and the memory remains allocated till there are references for the use of the object. When there are no references for an object, it is assumed to be no longer needed and the memory occupied by the object can be reclaimed.There is no explicit need to destroy an object as java handles the de-allocation automatically. The technique that accomplishes this is known as Garbage Collection.Programs that do not de-allocate memory can eventually crash when there is no memory left in the system to allocate. These programs are said to have memory leaks

In Java,Garbage collection happens automatically during the lifetime of a java program, eliminating the need to de-allocate memory and avoiding memory leaks.

To Learn Garbage Collection Mechanism in Java

Step 1) Copy the following code into a editor

class Student{
int a;
int b;
  public void setData(int c,int d){
    a=c;
    b=d;
  }
  public void showData(){
    System.out.println("Value of a = "+a);
    System.out.println("Value of b = "+b);
  }
  public static void main(String args[]){
    Student s1 = new Student();
    Student s2 = new Student();
    s1.setData(1,2);
    s2.setData(3,4);
    s1.showData();
    s2.showData();
    //Student s3;
    //s3=s2;
    //s3.showData();
    //s2=null;
    //s3.showData();
    //s3=null;
    //s3.showData();
  }
}

This code is editable. Click Run to Compile + Execute

Step 2) Save, Compile and Run the code. As shown in the diagram , two objects and two reference variables are created.

java-garbage-collection

Step 3) Uncomment line # 20,21,22. Save , compile & run the code.

Step 4) As show in diagram below, two reference variables are pointing to the same object.

java-garbage-collection-1

Step 5) Uncomment line # 23 & 24. Compile , Save & Run the code

Step 6) As show in diagram below , s2 becomes null , but s3 is still pointing to the object and is not eligible for garbage collection.

java-garbage-collection-3

Step 7) Uncomment line # 25 & 26 . Save , Compile & Run the Code

Step 8) At this point there are no references pointing to the object and becomes eligible for garbage collection. It will be removed from memory and there is no way of retrieving it back.

java-garbage-collection-4

Garbage Collection Important Points to Note:

 

1) If you want to make your object eligible for Garbage Collection , assign its reference variable to null.

2) Primitive types are not objects. They cannot be assigned null.

java-primitive-data-type

Operators in java
Difference between string class and string buffer class:

Download PDF

Posted by Akash Kurup

Founder and C.E.O, World4Engineers Educationist and Entrepreneur by passion. Orator and blogger by hobby

Website: http://world4engineers.com