Java Memory Max freeMaxMemory()

Here you can find the source of freeMaxMemory()

Description

Returns the amount of memory available for use by the Java program.

License

Open Source License

Return

an approximation to the amount of memory that is available for use by the Java program.

Declaration

public static long freeMaxMemory() 

Method Source Code

//package com.java2s;

public class Main {
    /**/*from w w w .ja  v  a2 s  . c o  m*/
     * Returns the amount of memory available for use by the Java program. This
     * includes memory that has not yet been allocated to the Java Virtual
     * Machine. <p />
     *
     * @return an approximation to the amount of memory that is available for
     * use by the Java program.
     */
    public static long freeMaxMemory() {
        return maxMemory() - usedMemory();
    }

    /**
     * Returns the maximum amount of memory that the Java virtual machine will
     * attempt to use. If there is no inherent limit then the value
     * Long.MAX_VALUE will be returned.
     * <p/>
     * Note that this value has no bearing on the actual physical memory
     * availability of the underlying machine, only the upper limit on what the
     * Java Virtual Machine will attempt to allocate.
     *
     * @return the maximum amount of memory that the virtual machine will
     * attempt to use, measured in bytes
     */
    public static long maxMemory() {
        return Runtime.getRuntime().maxMemory();
    }

    /**
     * Returns the amount of memory currently used by the Java Virtual Machine.
     * The value returned by this method may vary over time. Calling the
     * {@link Runtime#gc()} method may result in a decreasing the value return
     * by usedMemory.
     *
     * @return an approximation to the amount of memory currently used by
     * allocated objects, measured in bytes.
     */
    public static long usedMemory() {
        return allocatedMemory() - freeAllocatedMemory();
    }

    /**
     * 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.
     *
     * @return total amount of memory currently available for current and future
     * objects, measured in bytes.
     */
    public static long allocatedMemory() {
        return Runtime.getRuntime().totalMemory();
    }

    /**
     * Returns the amount of free memory in the Java Virtual Machine. Calling
     * the {@link Runtime#gc()} method may result in increasing the value
     * returned by freeMemory.
     *
     * @return an approximation to the total amount of memory currently
     * available for future allocated objects, measured in bytes.
     */
    public static long freeAllocatedMemory() {
        return Runtime.getRuntime().freeMemory();
    }
}

Related

  1. checkMaxMemory()
  2. getJavaMaxMemory()
  3. getJvmMaxMemory()
  4. getMaximumMemory()
  5. getMaximumMemory()