Finalize Method in Java


In this post we will learn about finalize() method. Few facts about finalize() method that we should be aware of are listed below:

  • It is a method of object() class and we can override and overload this method.
  • This method is called by garbage collector whenever object is removing from the memory by the garbage collector.
  • In order to execute some bunch of statements, garbage collector coming to heap for removing abandoned objects and it scans the heap in order to find out abandoned objects. Before all this process garbage collector call finalize() method every-time.
  • finalize() method do house keeping activity.
  • We can use finalize() method n number of times as finalize method is empty. Garbage Collector comes once in a while in memory management. It gets less priority because it is a daemon thread.


Let us go through simple lines of code to understand the usages of finalize() method.


class E {


protected void finalize() throws Throwable {

System.out.println(“from finalize ” );



class Manager {

public static void main( String[] args) {

E e1 = new E();



System.out.println( ” done” );





from finalize



The order of above output may vary.

gc() is a static method inside System class. It is just a request not a command.


Facebook Comments

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.