OSDN Git Service

2013.10.24
[uclinux-h8/uClinux-dist.git] / lib / classpath / examples / gnu / classpath / examples / management / TestMemory.java
1 /* TestMemory.java -- Tests the memory bean.
2    Copyright (C) 2006 Free Software Foundation, Inc.
3
4 This file is part of GNU Classpath examples.
5
6 GNU Classpath is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2, or (at your option)
9 any later version.
10
11 GNU Classpath is distributed in the hope that it will be useful, but
12 WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14 General Public License for more details.
15
16 You should have received a copy of the GNU General Public License
17 along with GNU Classpath; see the file COPYING.  If not, write to the
18 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
19 02110-1301 USA. */
20
21 package gnu.classpath.examples.management;
22
23 import java.lang.management.MemoryMXBean;
24 import java.lang.management.ManagementFactory;
25
26 public class TestMemory
27 {
28   public static void main(String[] args)
29   {
30     MemoryMXBean bean = ManagementFactory.getMemoryMXBean();
31     System.out.println("Bean: " + bean);
32     System.out.println("Heap memory usage: " 
33                        + bean.getHeapMemoryUsage());
34     System.out.println("Non-heap memory usage: " 
35                        + bean.getNonHeapMemoryUsage());
36     System.out.println("Objects pending finalization: " 
37                        + bean.getObjectPendingFinalizationCount());
38     System.out.println("Running garbage collector via bean...");
39     bean.gc();
40     System.out.println("Heap memory usage: " 
41                        + bean.getHeapMemoryUsage());
42     System.out.println("Non-heap memory usage: " 
43                        + bean.getNonHeapMemoryUsage());
44     System.out.println("Objects pending finalization: " 
45                        + bean.getObjectPendingFinalizationCount());
46     boolean verbosity = bean.isVerbose();
47     System.out.println("Verbose memory output: " + (verbosity ? "yes" : "no"));
48     System.out.println("Changing verbose setting...");
49     bean.setVerbose(!verbosity);
50     System.out.println("Verbose memory output: " + (bean.isVerbose() ? "yes" : "no"));
51   }
52 }