This class encapsulates a number of
platform-dependent system functions. The static method
getruntime( ) returns the
Runtime object for the current platform; this
object can perform system functions in a platform-independent way.
exit( ) causes the
Java interpreter to exit and return a specified return code. This
method is usually invoked through System.exit( ).
In Java 1.3, addShutdownHook( ) registers an
unstarted Thread object that is run when the
virtual machine shuts down, either through a call to exit(
) or through a user interrupt (a CTRL-C, for example). The
purpose of a shutdown hook is to perform necessary cleanup, such as
shutting down network connections, deleting temporary files, and so
on. Any number of hooks can be registered with
addShutdownHook( ). Before the interpreter exits,
it starts all registered shutdown-hook threads and lets them run
concurrently. Any hooks you write should perform their cleanup
operation and exit promptly so they do not delay the shutdown
process. To remove a shutdown hook before it is run, call
removeShutdownHook( ). To force an immediate exit
that does not invoke the shutdown hooks, call halt(
).
exec( ) starts a
new process running externally to the interpreter. Note that any
processes run outside of Java may be system-dependent.
freeMemory( ) returns the
approximate amount of free
memory. totalMemory(
) returns the total amount of memory available to the Java
interpreter. gc( ) forces the garbage collector to
run synchronously, which may free up more memory. Similarly,
runFinalization( ) forces the finalize(
) methods of unreferenced objects to be run immediately.
This may free up system resources those objects were holding.
load( ) loads a
dynamic library with a fully specified pathname.
loadLibrary( ) loads
a dynamic library with only the library name specified; it looks in
platform-dependent locations for the specified library. These
libraries generally contain native code definitions for native
methods.
traceInstructions( ) and
TRaceMethodCalls( ) enable and disable tracing by
the interpreter. These methods are used for debugging or profiling an
application. It is not specified how the VM emits the trace
information, and VMs are not even required to support this feature.
Note that some of the Runtime methods are more
commonly called via the static methods of the
System class.
public class
Runtime {
// No Constructor
// Public Class Methods
public static Runtime
getRuntime ( );
// Public Instance Methods
1.3 public void
addShutdownHook (Thread
hook );
1.4 public int
availableProcessors ( ); native
public Process
exec (String[ ]
cmdarray ) throws java.io.IOException;
public Process
exec (String
command ) throws java.io.IOException;
public Process
exec (String
command , String[ ]
envp ) throws java.io.IOException;
public Process
exec (String[ ]
cmdarray , String[ ]
envp ) throws java.io.IOException;
1.3 public Process
exec (String[ ]
cmdarray , String[ ]
envp , java.io.File
dir )
throws java.io.IOException;
1.3 public Process
exec (String
command , String[ ]
envp , java.io.File
dir ) throws
java.io.IOException;
public void
exit (int
status );
public long
freeMemory ( ); native
public void
gc ( ); native
1.3 public void
halt (int
status );
public void
load (String
filename );
public void
loadLibrary (String
libname );
1.4 public long
maxMemory ( ); native
1.3 public boolean
removeShutdownHook (Thread
hook );
public void
runFinalization ( );
public long
totalMemory ( ); native
public void
traceInstructions (boolean
on ); native
public void
traceMethodCalls (boolean
on ); native
// Deprecated Public Methods
# public java.io.InputStream
getLocalizedInputStream (java.io.InputStream
in );
# public java.io.OutputStream
getLocalizedOutputStream (java.io.OutputStream
out );
1.1# public static void
runFinalizersOnExit (boolean
value );
}