For those that want to know how to see the CPU and memory usage statistics in a Java application here's a demo that P. Lawrey wrote

GeSHi (java):
import java.lang.management.ManagementFactory;
import java.lang.management.OperatingSystemMXBean;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.List;
public class OSBeanTester {
public static void main
(String...
args) { printUsage();
System.
out.
println("Calendars are surprisingly expensive. Creating 100000 Calendars");
List<Calendar> calendars = new ArrayList<Calendar>();
for (int i = 0; i < 100000; i++)
printUsage();
}
private static void printUsage() {
OperatingSystemMXBean operatingSystemMXBean = ManagementFactory.getOperatingSystemMXBean();
for (Method method : operatingSystemMXBean.
getClass().
getDeclaredMethods()) { method.setAccessible(true);
if (method.
getName().
startsWith("get") &&
Modifier.
isPublic(method.
getModifiers())) { try {
value = method.invoke(operatingSystemMXBean);
value = e;
}
System.
out.
println(method.
getName() +
" = " + value
);
}
}
}
}
Created by GeSHI 1.0.7.20
Output
getCommittedVirtualMemorySize = 28811264
getFreePhysicalMemorySize = 1207009280
getFreeSwapSpaceSize = 3365294080
getProcessCpuTime = 109375000
getTotalPhysicalMemorySize = 2145497088
getTotalSwapSpaceSize = 4129447936
Calendars are surprisingly expensive. Creating 100000 Calendars
getCommittedVirtualMemorySize = 91783168
getFreePhysicalMemorySize = 1154912256
getFreeSwapSpaceSize = 3302273024
getProcessCpuTime = 671875000
getTotalPhysicalMemorySize = 2145497088
getTotalSwapSpaceSize = 4129447936