The following example program prints out both the total and free memory sizes, allocates a chunk of memory, and then prints the memory sizes again. If the initial size of your JVM’s heap is about 1 MB, you should see the total memory increase as the heap grows. The amount of free memory should change as a function of the amount of memory allocated and the increase in size of the heap.
public final class HeapSize { public static final int DATA_SIZE = 1024*1024; public static final void printMemory(Runtime runtime) { System.out.println("
Total Memory: " + runtime.totalMemory()); System.out.println("Free Memory : " + runtime.freeMemory()); } public static final void main(String[] args) { Runtime runtime; byte[] data; runtime = Runtime.getRuntime(); printMemory(runtime); data = new byte[DATA_SIZE]; printMemory(runtime); }}