J2SE 5.0 use
Java Management Extensions (JMX) to manage and monitor the Java platform. import java.lang.management.ClassLoadingMXBean; import java.lang.management.CompilationMXBean; import java.lang.management.ManagementFactory; import java.lang.management.MemoryMXBean; import java.lang.management.MemoryManagerMXBean; import java.lang. management.MemoryPoolMXBean; import java.lang.management.OperatingSystemMXBean; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.util.List;
Public class jdkmbean {public static
}} Operating results: --- java.lang.management.OperatingSystemMXBean --- Arch: x86AvailableProcessors: 2Name: Windows 2000Version: 5.0 --- java.lang.management.CompilationMXBean --- TotalCompilationTime: 5Name: HotSpot Client Compiler
--- java.lang.management.classloadingmxbean --- loadingClassCount: 431UnlineedClassCount: 0TotalloadedClassCount: 431
--- java.lang.management.MemoryMXBean --- HeapMemoryUsage: init = 0 (0K) used = 458288 (447K) committed = 2031616 (1984K) max = 66650112 (65088K) NonHeapMemoryUsage: init = 29556736 (28864K) used = 12541248 (12247k) committed = 29851648 (29152k) max = 121634816 (118784K) ObjectpendingFinalizationCount: 0
--- java.lang.Management.MemoryManagermxbean --- MemoryPoolNames: [ljava.lang.string; @ 6ca1cname: CodeCacheManager
--- java.lang.Management.MemoryManagermxbean --- MemoryPoolNames: [ljava.lang.string; @ 1bf216aname: COPY
--- java.lang.Management.MemoryManagermxbean --- MemoryPoolNames: [ljava.lang.string; @ 12ac982name: MarksweepCompact
--- java.lang.management.MemoryPoolMXBean --- CollectionUsage: nullMemoryManagerNames: [Ljava.lang.String; @ c20e24PeakUsage: init = 196608 (192K) used = 482048 (470K) committed = 491520 (480K) max = 33554432 (32768K USAGE: init = 196608 (192K) USED = 524352 (512K) committed = 557056 (544K) MAX = 33554432 (32768K) USAGETHRESHOLD: 0USAGETHRESHOLDCOUNT: 0NAME: CODE CACHETYPE: NON-HEAP MEMORY
--- java.lang.management.MemoryPoolMXBean --- CollectionUsage: init = 524288 (512K) used = 0 (0K) committed = 0 (0K) max = 4194304 (4096K) CollectionUsageThreshold: 0CollectionUsageThresholdCount: 0MemoryManagerNames: [Ljava.lang. String; @ 2e7263PeakUsage: init = 524288 (512K) used = 511160 (499K) committed = 524288 (512K) max = 4194304 (4096K) Usage: init = 524288 (512K) used = 521688 (509K) committed = 524288 (512K) max = 4194304 (4096K) Name: Eden Spacetype: Heap Memory --- Java.lang.Management.MemoryPoolmxBean --- CollectionUsage: init = 65536 (64K) USED = 0 (0k) commcted = 0 (0k) max = 458752 (448K ) CollectionUsageThreshold: 0CollectionUsageThresholdCount: 0MemoryManagerNames: [Ljava.lang.String; @ 157f0dcPeakUsage: init = 65536 (64K) used = 65528 (63K) committed = 65536 (64K) max = 458752 (448K) Usage: init = 65536 (64K) used = 65528 (63K) committed = 65536 (64K) MAX = 458752 (448K) Name: Survivor Spacetype: Heap Memory
--- java.lang.management.MemoryPoolMXBean --- CollectionUsage: init = 1441792 (1408K) used = 0 (0K) committed = 0 (0K) max = 61997056 (60544K) CollectionUsageThreshold: 0CollectionUsageThresholdCount: 0MemoryManagerNames: [Ljava.lang. String; @ 863399PeakUsage: init = 1441792 (1408K) used = 142120 (138K) committed = 1441792 (1408K) max = 61997056 (60544K) Usage: init = 1441792 (1408K) used = 142120 (138K) committed = 1441792 (1408K) max = 61997056 (60544K) USAGETHRESHOLD: 0USAGETHRESHOLDCOUNT: 0NAME: TENURED GENTYPE: Heap Memory
--- java.lang.management.MemoryPoolMXBean --- CollectionUsage: init = 8388608 (8192K) used = 0 (0K) committed = 0 (0K) max = 67108864 (65536K) CollectionUsageThreshold: 0CollectionUsageThresholdCount: 0MemoryManagerNames: [Ljava.lang. String; @ a59698PeakUsage: init = 8388608 (8192K) used = 641040 (626K) committed = 8388608 (8192K) max = 67108864 (65536K) Usage: init = 8388608 (8192K) used = 641040 (626K) committed = 8388608 (8192K) max = 67108864 (65536K) UsageThreshold: 0UsageThresholdCount: 0Name: Perm GenType: Non-heap memory --- java.lang.management.MemoryPoolMXBean --- CollectionUsage: init = 8388608 (8192K) used = 0 (0K) committed = 0 (0K ) max = 8388608 (8192K) CollectionUsageThreshold: 0CollectionUsageThresholdCount: 0MemoryManagerNames: [Ljava.lang.String; @ 141d683PeakUsage: init = 8388608 (8192K) used = 5601632 (5470K) committed = 8388608 (8192K) max = 8388608 (8192K) Usage: init = 8388608 (8192K) USED = 5601632 (5470K) committed = 8388608 (8192k) MAX = 8388608 (8192K) USAGETHRESHOLD: 0USAGETHRESHOLDCOUNT: 0NAME: Perm gen [shared-ro] t Ype: Non-Heap Memory
--- java.lang.management.MemoryPoolMXBean --- CollectionUsage: init = 12582912 (12288K) used = 0 (0K) committed = 0 (0K) max = 12582912 (12288K) CollectionUsageThreshold: 0CollectionUsageThresholdCount: 0MemoryManagerNames: [Ljava.lang. String; @ 16a55faPeakUsage: init = 12582912 (12288K) used = 5850024 (5712K) committed = 12582912 (12288K) max = 12582912 (12288K) Usage: init = 12582912 (12288K) used = 5850024 (5712K) committed = 12582912 (12288K) max = 12582912 (12288K) USAGETHRESHOLD: 0USAGETHRESHOLDCOUNT: 0NAME: Perm Gen [Shared-rw] TYPE: NON-HEAP MEMORY