Java in a Nutshell, 5th Edition [Electronic resources]

نسخه متنی -صفحه : 1191/ 255
نمايش فراداده

Runtimejava.lang

Java 1.0

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 ); }