Published by: sadikshya
Published date: 17 Jun 2021
In Java, garbage means unreferenced objects. Garbage Collection is a 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 a free() function in C language and delete() in C++.
Advantages
Unreachable objects: An object is said to be unreachable if it doesn’t contain any reference to it.
Integer i = new Integer(4);
// the new Integer object is reachable via the reference in ‘i’
i = null;
// the Integer object is no longer reachable.
Eligibility for garbage collection :
An object is said to be eligible for GC(garbage collection) if it is unreachable.
Steps Of Garbage Collection
Marking
The garbage collector determines which pieces of memory are in use and which are not.
Normal Delation
Garbage collector removes unreferenced objects leaving referenced objects and pointers to free space.
Delation With Compacting
Garbage collector deletes unreferenced objects and compacts the remaining referenced objects.
How can an object be unreferenced?
There are many ways:
– By nulling the reference
– By assigning a reference to another
– By anonymous object etc.
Nulling
By nulling a reference:
Employee e=new Employee();
e=null;
Assigning
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 garbage collection
Anonymous
By anonymous object:
new Employee();
The final keyword in java is used to restrict the user. The java final keyword can be used in many contexts. Final can be:
Example:
class Bike9{
final int speedlimit=90;//final variable
void run(){
speedlimit=400;
}
public static void main(String args[]){
Bike9 obj=new Bike9();
obj.run();
}
}//end of class