OOPS in JAVA 9
Garbage Collection
In Java destruction of object from memory is done automatically by the JVM. When there is no reference to an object, then that object is assumed to be no longer needed and the memory occupied by the object are released. This technique is called Garbage Collection. This is accomplished by the JVM.
Unlike C++ there is no explicit need to destroy object.
Advantages of Garbage Collection:
Programmer doesn't need to worry about dereferencing an object.
It is done automatically by JVM.
Increases memory efficiency and decreases the chances for memory leak.
finalize() method
Sometime an object will need to perform some specific task before it is destroyed such as closing an open connection or releasing any resources held. To handle such situation finalize() method is used. finalize() method is called by garbage collection thread before collecting object. Its the last chance for any object to perform cleanup utility.
Syntax :
protected void finalize( )
{
//finalize-code
}
Important Points to Remember
1. finalize() method is defined in java.lang.Object class, therefore it is available to all the classes.
2. finalize() method is declare as proctected inside Object class.
3. finalize() method gets called only once by GC threads.
Can the Garbage Collection be forced explicitly ??
No, the Garbage Collection can not be forced explicitly. We may request JVM for garbage collection by calling System.gc() method. But This does not guarantee that JVM will perform the garbage collection.
No comments:
Post a Comment
Hai , Post your comment . (required, Bugs, Errors )