JVM Tutorials - Herong's Tutorial Examples
Dr. Herong Yang, Version 4.10

What Is Runtime?

This section describes what is Runtime - A Java built-in class, java.lang.Runtime, that presents running instances of a Java Virtual Machine (JVM).

What Is Runtime? java.lang.RunTime is a built-in class that presents running instances of a Java Virtual Machine (JVM). In other word, every Java running application has a single instance of class Runtime. To access the instance of RunTime of the current JVM, you can use the static class method, getRuntime().

Runtime class allows the application to interface with the JVM instance through these methods:

  • static Runtime getRuntime() - Returns the runtime object associated with the current Java application.
  • int availableProcessors() - Returns the number of processors available to the Java virtual machine.
  • long maxMemory() - Returns the maximum amount of memory that the Java virtual machine will attempt to use.
  • long totalMemory() - Returns the total amount of memory in the Java virtual machine.
  • long freeMemory() - Returns the amount of free memory in the Java Virtual Machine.
  • void runFinalization() - Runs the finalization methods of any objects pending finalization.
  • void gc() - Runs the garbage collector.
  • void addShutdownHook(Thread hook) - Registers a new virtual-machine shutdown hook.
  • boolean removeShutdownHook(Thread hook) - De-registers a previously-registered virtual-machine shutdown hook.
  • void exit(int status) - Terminates the currently running Java virtual machine by initiating its shutdown sequence.
  • void halt(int status) - Forcibly terminates the currently running Java virtual machine.
  • Process exec(String command) - Executes the specified string command in a separate process.
  • void load(String filename) - Loads the specified filename as a dynamic library.
  • void loadLibrary(String libname) - Loads the dynamic library with the specified library name.
  • void traceInstructions(boolean on) - Enables/Disables tracing of instructions.
  • void traceMethodCalls(boolean on) - Enables/Disables tracing of method calls.

Tutorial example programs are provided in next sections to test those methods.

Last update: 2010.

Table of Contents

 About This Book

 Download and Install Java SE 1.6 Update 2

java.lang.Runtime Class - The JVM Instance

What Is Runtime?

 Printing Runtime Basic Information

 Running the Garbage Collector Explicitly

 Shutting Down or Terminating the JVM Instance

 Executing System Commands

 Loading Native Libraries

 java.lang.System Class - The Operating System

 ClassLoader Class - Class Loaders

 Class Class - Class Reflections

 Sun's JVM - Java HotSpot VM

 JRockit JVM 7.0 by BEA Systems

 JRockit JVM 8.0 by BEA Systems

 Memory Management Rules and Tests

 Garbage Collection Tests

 Stack Overflow Tests

 Thread Testing Program and Result

 StringBuffer Testing Program and Result

 CDS (Class Data Sharing)

 Micro Benchmark Runner and JVM Options

 Micro Benchmark Tests on "int" Operations

 Micro Benchmark Tests on "long" Operations

 Micro Benchmark Tests in JIT Compilation Mode

 Micro Benchmark Tests on "float" and "double" Operations

 References

 PDF Printing Version

Dr. Herong Yang, updated in 2010
What Is Runtime?