Runtime: freeMemory() : Runtime « java.lang « Java by API






Runtime: freeMemory()

 
/*
 * 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);

  }
}
           
         
  








Related examples in the same category

1.Runtime: availableProcessors()
2.Runtime: addShutdownHook(Thread hook)
3.Runtime: exec(String[] command)
4.Runtime: exec(String command) (2)
5.Runtime: gc()
6.Runtime.getRuntime()
7.Runtime: maxMemory()
8.Runtime: totalMemory()