KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > tc > runtime > MemoryPoolsTest


1 /*
2  * All content copyright (c) 2003-2006 Terracotta, Inc., except as may otherwise be noted in a separate copyright notice. All rights reserved.
3  */

4 package com.tc.runtime;
5
6 import com.tc.test.TCTestCase;
7
8 import java.lang.management.ManagementFactory JavaDoc;
9 import java.lang.management.MemoryPoolMXBean JavaDoc;
10 import java.util.Iterator JavaDoc;
11 import java.util.List JavaDoc;
12
13 public class MemoryPoolsTest extends TCTestCase {
14
15   public void testMemoryPools() throws Exception JavaDoc {
16     List JavaDoc pools = ManagementFactory.getMemoryPoolMXBeans();
17     for (Iterator JavaDoc i = pools.iterator(); i.hasNext();) {
18       MemoryPoolMXBean JavaDoc mpBean = (MemoryPoolMXBean JavaDoc) i.next();
19       System.err.println(mpBean);
20       System.err.println(" Name = " + mpBean.getName());
21       System.err.println(" Usage Threashold supported = " + mpBean.isUsageThresholdSupported());
22       System.err.println(" Collection Usage = " + mpBean.getCollectionUsage());
23       System.err.println(" Type = " + mpBean.getType());
24       System.err.println(" Usage = " + mpBean.getUsage());
25       System.err.println("=====================");
26     }
27     JVMMemoryManager memManager = new TCMemoryManagerJdk15();
28     assertTrue(memManager.isMemoryPoolMonitoringSupported());
29     MemoryUsage mu1 = memManager.getOldGenUsage();
30     assertNotNull(mu1);
31     long collectorCount1 = mu1.getCollectionCount();
32     System.err.println("Collector Count = " + collectorCount1);
33     assertTrue(collectorCount1 > -1);
34     System.gc();
35     MemoryUsage mu2 = memManager.getOldGenUsage();
36     assertNotNull(mu2);
37     long collectorCount2 = mu2.getCollectionCount();
38     System.err.println("Now the Collector Count is " + collectorCount2);
39     assertTrue(collectorCount2 > collectorCount1);
40   }
41 }
42
Popular Tags