Calling the garbage collector.

abhishek desai <[email protected]>
Newsgroups gmane.comp.gcc.java.devel
Message-ID <[email protected]>
Hi,

I have a simple java program to test the garbage collection. It has
the two java files shown below.

TestClass.java

public class TestClass {
        protected void finalize() throws Throwable {
                System.out.println("Java TestClass finalizer called.");
        }
}


HelloWorld.java

import TestClass;

class HelloWorld
{
        public static void main(String args[]) {
                System.out.println("HelloWorld\n");

                TestClass a =  new TestClass();
                a = null;
                System.gc();
        }
}


When I compile this using javac to a class file and run the bytecode
using the 'java' interpreter, the finalize funtion for TestClass.java
is called.
When I compile the same set of files using gcj to machine code, the
finalizer is not called. Can any one tell me why this happens and what
I will have to do to get the finalizer called when object is no longer
used.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.