# Class Runtime

java.lang.Object
java.lang.Runtime

public class Runtime extends Object
Every Java application has a single instance of class Runtime that allows the application to interface with the environment in which the application is running. The current runtime can be obtained from the getRuntime method. An application cannot create its own instance of this class. Since: JDK1.0, CLDC 1.0 See Also:getRuntime()

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `Runtime()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `exit(int status)`
  Terminates the currently running Java application.
  `long`
  `freeMemory()`
  Returns the amount of free memory in the system.
  `void`
  `gc()`
  Runs the garbage collector.
  `static Runtime`
  `getRuntime()`
  Returns the runtime object associated with the current Java application.
  `long`
  `totalMemory()`
  Returns the total amount of memory in the Java Virtual Machine.

  ### Methods inherited from class Object

  `clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`
  Modifier and Type
  Method
  Description
  `protected Object`
  `clone()`
  `boolean`
  `equals(Object obj)`
  Indicates whether some other object is "equal to" this one.
  `final Class`
  `getClass()`
  Returns the runtime class of an object.
  `int`
  `hashCode()`
  Returns a hash code value for the object.
  `final void`
  `notify()`
  Wakes up a single thread that is waiting on this object's monitor.
  `final void`
  `notifyAll()`
  Wakes up all threads that are waiting on this object's monitor.
  `String`
  `toString()`
  Returns a string representation of the object.
  `final void`
  `wait()`
  Causes current thread to wait until another thread invokes the method or the method for this object.
  `final void`
  `wait(long timeout)`
  Causes current thread to wait until either another thread invokes the method or the method for this object, or a specified amount of time has elapsed.
  `final void`
  `wait(long timeout, int nanos)`
  Causes current thread to wait until another thread invokes the method or the method for this object, or some other thread interrupts the current thread, or a certain amount of real time has elapsed.

- ## Constructor Details

  - ### Runtime

    public Runtime()

- ## Method Details

  - ### exit

    public void exit(int status)
    Terminates the currently running Java application. This method never returns normally. The argument serves as a status code; by convention, a nonzero status code indicates abnormal termination.

  - ### freeMemory

    public long freeMemory()
    Returns the amount of free memory in the system. Calling the gc method may result in increasing the value returned by freeMemory.

  - ### gc

    public void gc()
    Runs the garbage collector. Calling this method suggests that the Java Virtual Machine expend effort toward recycling unused objects in order to make the memory they currently occupy available for quick reuse. When control returns from the method call, the Java Virtual Machine has made its best effort to recycle all discarded objects. The name gc stands for "garbage collector". The Java Virtual Machine performs this recycling process automatically as needed even if the gc method is not invoked explicitly. The method System.gc() is the conventional and convenient means of invoking this method.

  - ### getRuntime

    public static Runtime getRuntime()
    Returns the runtime object associated with the current Java application. Most of the methods of class Runtime are instance methods and must be invoked with respect to the current runtime object.

  - ### totalMemory

    public long totalMemory()
    Returns the total amount of memory in the Java Virtual Machine. The value returned by this method may vary over time, depending on the host environment. Note that the amount of memory required to hold an object of any given type may be implementation-dependent.