com.bea.jvm
Interface JVM

All Superinterfaces:
Describable

public interface JVM
extends Describable

Represents the JVM. A JVM consists of a number of submodules.

Author:
Calle Wilund, Marcus Hirt

Method Summary
 ClassLibrary getClassLibrary()
          Returns the ClassLibrary.
 CompilationSystem getCompilationSystem()
          Returns the compiler (if available) that is used to generate machine code for methods.
 java.lang.String getDescription()
          Returns a description of the JVM.
 java.lang.String getJavaCommandLine()
          Returns the java launcher command line
 java.lang.String getJVMInitArgs()
          Returns the initialization arguments given to the JVM at startup
 double getJVMLoad()
          Returns the fraction of the load on the machine caused by the JVM. 0.0 means no load is created by the virtual machine, 1.0 means all load is created by the JVM.
 Machine getMachine()
          Returns the underlying hardware.
 MemorySystem getMemorySystem()
          Returns the MemorySystem.
 java.lang.String getName()
          Returns the JVM name string.
 OperatingSystem getOperatingSystem()
          Returns the OperatingSystem on which the JVM is run.
 java.util.Collection getProcessAffinity()
          Returns a collection with the CPUs that the JVM process currently is running on.
 ProfilingSystem getProfilingSystem()
          Returns the profiler (if available) used to instrument code being executed.
 long getStartTime()
          Returns the time that the JVM process was started.
 ThreadSystem getThreadSystem()
          Returns the ThreadSystem.
 java.lang.String getVendor()
          Returns the name of the JVM vendor.
 java.lang.String getVersion()
          Returns the JVM version string.
 void suggestProcessAffinity(java.util.Collection cpuCollection)
          Suggests the process affinity.
 

Method Detail

getThreadSystem

public ThreadSystem getThreadSystem()
                             throws NotAvailableException
Returns the ThreadSystem.

Returns:
see above.
Throws:
NotAvailableException - if this functionality isn't available on this JVM.
See Also:
ThreadSystem

getMemorySystem

public MemorySystem getMemorySystem()
                             throws NotAvailableException
Returns the MemorySystem.

Returns:
see above.
Throws:
NotAvailableException - if this functionality isn't available in this JVM.
See Also:
MemorySystem

getClassLibrary

public ClassLibrary getClassLibrary()
                             throws NotAvailableException
Returns the ClassLibrary.

Returns:
see above.
Throws:
NotAvailableException - if this functionality isn't available in this JVM.
See Also:
ClassLibrary

getOperatingSystem

public OperatingSystem getOperatingSystem()
                                   throws NotAvailableException
Returns the OperatingSystem on which the JVM is run.

Returns:
see above.
Throws:
NotAvailableException - if this functionality isn't available in this JVM.
See Also:
OperatingSystem

getCompilationSystem

public CompilationSystem getCompilationSystem()
                                       throws NotAvailableException
Returns the compiler (if available) that is used to generate machine code for methods.

Returns:
see above.
Throws:
NotAvailableException - if this functionality isn't available in this JVM.

getProfilingSystem

public ProfilingSystem getProfilingSystem()
                                   throws NotAvailableException
Returns the profiler (if available) used to instrument code being executed.

Returns:
see above.
Throws:
NotAvailableException - if this functionality isn't available in this JVM.

getMachine

public Machine getMachine()
                   throws NotAvailableException
Returns the underlying hardware.

Returns:
see above.
Throws:
NotAvailableException - if this functionality isn't available in this JVM.

getVendor

public java.lang.String getVendor()
                           throws NotAvailableException
Returns the name of the JVM vendor. For instance 'BEA Systems Inc'.

Returns:
see above
Throws:
NotAvailableException - if this functionality isn't available in this JVM.

getVersion

public java.lang.String getVersion()
                            throws NotAvailableException
Returns the JVM version string. For instance '7.0'.

Returns:
see above
Throws:
NotAvailableException - if this functionality isn't available in this JVM.

getName

public java.lang.String getName()
                         throws NotAvailableException
Returns the JVM name string. For instance 'WebLogic JRockit'.

Returns:
see above
Throws:
NotAvailableException - if this functionality isn't available in this JVM.

suggestProcessAffinity

public void suggestProcessAffinity(java.util.Collection cpuCollection)
                            throws NotAvailableException
Suggests the process affinity. That is, what processors the JVM process should run on. This is just a suggestion, and it may not be heeded by the underlying operating system.

Parameters:
cpuCollection - a collection with the CPUs to use. May not be null!
Throws:
NotAvailableException - if this functionality isn't available in this JVM. Linux versions of JRockit throws this exception.
See Also:
CPU

getProcessAffinity

public java.util.Collection getProcessAffinity()
                                        throws NotAvailableException
Returns a collection with the CPUs that the JVM process currently is running on.

Returns:
a collection with the CPUs currently running the JVM process.
Throws:
NotAvailableException - if this functionality isn't available in this JVM. Linux versions of JRockit throws this exception.
See Also:
CPU

getStartTime

public long getStartTime()
                  throws NotAvailableException
Returns the time that the JVM process was started.

Returns:
the time that the JVM process was started.
Throws:
NotAvailableException - if this functionality isn't available in this JVM.
See Also:
System.currentTimeMillis()

getJVMLoad

public double getJVMLoad()
                  throws NotAvailableException
Returns the fraction of the load on the machine caused by the JVM. 0.0 means no load is created by the virtual machine, 1.0 means all load is created by the JVM.

Returns:
the fraction of the load caused by the JVM process. [0.0, 1.0]
Throws:
NotAvailableException - if this functionality isn't available in this JVM.

getJVMInitArgs

public java.lang.String getJVMInitArgs()
Returns the initialization arguments given to the JVM at startup

Returns:
the initialization arguments given to the JVM at startup
Throws:
NotAvailableException - if this functionality isn't available in this JVM.

getJavaCommandLine

public java.lang.String getJavaCommandLine()
Returns the java launcher command line

Returns:
the java launcher command line
Throws:
NotAvailableException - if this functionality isn't available in this JVM.

getDescription

public java.lang.String getDescription()
Returns a description of the JVM. For instance 'BEA WebLogic JRockit Java Virtual Machine'.

Specified by:
getDescription in interface Describable
Returns:
the description as a String.
See Also:
Describable.getDescription()