General musings on programming languages, and Java.

Monday, October 11, 2004

Lame Java Benchmarks - Freeing Memory

Someone said that Java doesn't free up memory to the OS during a program's execution, so this is a simple test of that assertion.

import java.util.ArrayList;
import java.util.List;

public final class Main
        public static void main(final String[] args) throws InterruptedException


        private static void allocate() throws InterruptedException
                List list=new ArrayList();

                for (int a=0;a<5000000;a++)
                        list.add(new Object());
The output of running ps aux repeatedly on Linux while this is running shows that the garbage collection never has an external effect. The output of the program is simply : 6207736 66317488 Here This demonstrates that the garbage collection is happening.

Blog Archive

About Me

A salsa dancing, DJing programmer from Manchester, England.