Mega Code Archive

 
Categories / Java by API / Java Lang
 

Runtime

/*  * Output:  Total memory is: 2031616 Initial free memory: 1774312 Free memory after garbage collection: 1875680 Free memory after allocation: 1715296 Memory used by allocation: 160384 Free memory after collecting discarded Integers: 1875680  */ public class MainClass {   public static void main(String args[]) {     Runtime r = Runtime.getRuntime();     long mem1, mem2;     Integer someints[] = new Integer[10000];     System.out.println("Total memory is: " + r.totalMemory());     mem1 = r.freeMemory();     System.out.println("Initial free memory: " + mem1);     r.gc();     mem1 = r.freeMemory();     System.out.println("Free memory after garbage collection: " + mem1);     for (int i = 0; i < someints.length; i++)       someints[i] = new Integer(i); // allocate integers     mem2 = r.freeMemory();     System.out.println("Free memory after allocation: " + mem2);     System.out.println("Memory used by allocation: " + (mem1 - mem2));     for (int i = 0; i < someints.length; i++)       someints[i] = null;     r.gc(); // request garbage collection     mem2 = r.freeMemory();     System.out.println("Free memory after collecting" + " discarded Integers: "         + mem2);   } }