001: /*
002: * Copyright 2003-2004 Sun Microsystems, Inc. All Rights Reserved.
003: * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
004: *
005: * This code is free software; you can redistribute it and/or modify it
006: * under the terms of the GNU General Public License version 2 only, as
007: * published by the Free Software Foundation. Sun designates this
008: * particular file as subject to the "Classpath" exception as provided
009: * by Sun in the LICENSE file that accompanied this code.
010: *
011: * This code is distributed in the hope that it will be useful, but WITHOUT
012: * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
013: * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
014: * version 2 for more details (a copy is included in the LICENSE file that
015: * accompanied this code).
016: *
017: * You should have received a copy of the GNU General Public License version
018: * 2 along with this work; if not, write to the Free Software Foundation,
019: * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
020: *
021: * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
022: * CA 95054 USA or visit www.sun.com if you need additional information or
023: * have any questions.
024: */
025:
026: package sun.management;
027:
028: import java.lang.management.ClassLoadingMXBean;
029: import sun.management.counter.Counter;
030:
031: /**
032: * Hotspot internal management interface for the class loading system.
033: *
034: * This management interface is internal and uncommitted
035: * and subject to change without notice.
036: */
037: public interface HotspotClassLoadingMBean {
038: /**
039: * Returns the amount of memory in bytes occupied by loaded classes
040: * in the Java virtual machine.
041: *
042: * @return the amount of memory in bytes occupied by loaded classes
043: * in the Java virtual machine.
044: */
045: public long getLoadedClassSize();
046:
047: /**
048: * Returns the number of bytes that the Java virtual machine
049: * collected due to class unloading.
050: *
051: * @return the number of bytes that the VM collected due to
052: * class unloading.
053: */
054: public long getUnloadedClassSize();
055:
056: /**
057: * Returns the accumulated elapsed time spent by class loading
058: * in milliseconds.
059: *
060: * @return the accumulated elapsed time spent by class loading
061: * in milliseconds.
062: */
063: public long getClassLoadingTime();
064:
065: /**
066: * Returns the amount of memory in bytes occupied by the method
067: * data.
068: *
069: * @return the amount of memory in bytes occupied by the method
070: * data.
071: */
072: public long getMethodDataSize();
073:
074: /**
075: * Returns the number of classes for which initializers were run.
076: *
077: * @return the number of classes for which initializers were run.
078: */
079: public long getInitializedClassCount();
080:
081: /**
082: * Returns the accumulated elapsed time spent in class initializers
083: * in milliseconds.
084: *
085: * @return the accumulated elapsed time spent in class initializers
086: * in milliseconds.
087: */
088: public long getClassInitializationTime();
089:
090: /**
091: * Returns the accumulated elapsed time spent in class verifier
092: * in milliseconds.
093: *
094: * @return the accumulated elapsed time spent in class verifier
095: * in milliseconds.
096: */
097: public long getClassVerificationTime();
098:
099: /**
100: * Returns a list of internal counters maintained in the Java
101: * virtual machine for the class loading system.
102: *
103: * @return a list of internal counters maintained in the VM
104: * for the class loading system.
105: */
106: public java.util.List<Counter> getInternalClassLoadingCounters();
107:
108: }
|